【问题标题】:How to use specific members of a namespace?如何使用命名空间的特定成员?
【发布时间】:2015-01-21 11:07:13
【问题描述】:

我正在尝试对特定成员使用指令using namespace NS,但编译器似乎不理解。

这是一个非常简单的代码示例:

namespace NS{
    int a;
    int b;
}
using namespace NS::a;
int main(){
    return 0;
}

Clang 编译器返回 error: expected namespace name at using namespace NS::a;

【问题讨论】:

    标签: c++ namespaces clang


    【解决方案1】:

    a 不是命名空间。因此,您可以使用using namespace NS 拉取全局命名空间中的命名空间内容,或者使用using NS::a 仅拉取全局命名空间中的a

    【讨论】:

      【解决方案2】:

      using namespace NS 表示NS 是一个命名空间,您希望直接访问其范围。所以你可以直接写a,而不是NS::a

      虽然

      using namespace NS::a 表示NS 是一个包含另一个命名空间a 的命名空间,并且您希望能够访问在命名空间a 范围内定义的变量!!!

      【讨论】:

        猜你喜欢
        • 2011-05-15
        • 2015-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-02
        • 2014-07-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多