如何使用命名空间的特定成员?

时间:2015-01-21 11:07:13

标签: c++ namespaces clang

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

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

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

Clang编译器使用命名空间NS :: a;

返回错误: 的预期命名空间名称

2 个答案:

答案 0 :(得分:2)

a不是命名空间。因此,您只需使用using namespace NS在全局命名空间中提取命名空间的内容,或使用a在全局命名空间中仅提取using NS::a

答案 1 :(得分:0)

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

虽然

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