Mon*_*ter 15 c++ symbols namespaces class
假设我在命名空间"abc"中有一个名为'foo'的类...
namespace abc {
class foo {
int a;
int b;
};
}
Run Code Online (Sandbox Code Playgroud)
...然后说我在另一个名称空间中有另一个名为"abc"的类
#include "foo.h"
namespace foo {
class abc {
abc::a = 10;
};
}
Run Code Online (Sandbox Code Playgroud)
abc :: a不是定义的类型,因为它将搜索类abc,而不是命名空间abc.我如何正确引用另一个命名空间中的对象,其中该另一个命名空间与我所在的类具有相同的名称?
您可以指定::
从中定义全局命名空间的完全限定名称,例如:
namespace abc {
class foo {
int a;
int b;
};
}
namespace foo {
class abc {
::abc::foo a; // Changed from 'abc::a = 10;' since it doesn't compile
};
}
Run Code Online (Sandbox Code Playgroud)