c++ - 在 C++ 中共享相同名称的类和命名空间

标签 c++ class namespaces symbols

假设我在命名空间“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/

相关文章:

c++ - 为什么我需要包含 <vector> 才能使用它们?

c++ - 这里的 & 运算符是什么意思?

用于管理对数据库的访问的 C++ 类

typescript - 如何在 TypeScript 中为 Twilio 全局 JS 库创建环境声明?

c# - 在 web.config 文件中添加命名空间有什么好处?

c++ - 模板重载解决奇数 VS2013

c++ - 在 vector 中保留插入元素的地址(C++)

python - 继承类;如何实现

objective-c - 有没有办法在 Objective-C 上动态解析类方法?

php - 在 PHP 中使用命名空间扩展类时,我应该为类使用相同的名称吗?