假设我在命名空间“abc”中有一个名为“foo”的类...
namespace abc {
class foo {
int a;
int b;
};
}
...然后说我在不同的命名空间中有另一个名为“abc”的类
#include "foo.h"
namespace foo {
class abc {
abc::a = 10;
};
}
abc::a 不会是已定义类型,因为它将搜索类 abc,而不是命名空间 abc。我将如何正确引用另一个命名空间中的对象,其中另一个命名空间与我所在的类具有相同的名称?
最佳答案
您可以使用::abc::xx
,即将变量或类型标识为其绝对命名空间路径。如果您不指定绝对名称,则相对名称在包括命名空间/类中开始向上。
关于c++ - 在 C++ 中共享相同名称的类和命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4070915/