Tôi nhầm lẫn phải làm gì khi có không gian tên lồng nhau và khai báo đối tượng.Không gian tên lồng nhau trong C++
Tôi đang chuyển một số mã liên kết với một thư viện tĩnh có một vài không gian tên.
Ví dụ về những gì tôi đang nói về:
namespace ABC {
namespace XYZ {
//STUFF
}
}
Trong mã tôi phải làm gì để khai báo một đối tượng mà là trong namespace XYZ
?
nếu tôi cố gắng:
XYZ::ClassA myobject;
hay:
ABC::XYZ::ClassA myobject;
hay:
ABC::ClassA myobject;
tôi nhận được
không tên một loại
lỗi, mặc dù chắc chắn tồn tại ClassA
.
Điều gì là phù hợp ở đây?
Tôi muốn nói - không sử dụng không gian tên lồng nhau, giữ cho lược đồ không gian tên của bạn càng đơn giản càng tốt. –
Những gì bạn đã thử rõ ràng là chính xác. Có lẽ bạn đã nhập sai một không gian tên/lớp trong mã thực của bạn? Bạn cũng có thể kiểm tra trường hợp ** ký tự ** (đây là lỗi thường gặp). – ereOn
Chỉ cần đảm bảo ... Bạn biết khai báo một lớp mới trong không gian tên lồng nhau khác với tham chiếu một đối tượng được khai báo trong một thư viện bên ngoài từ bên trong chúng. – Jay