如何访问嵌套匿名命名空间下定义的变量?

时间:2017-11-28 15:07:43

标签: c++ namespaces

我正在编写一些玩具程序来试用各种C ++关键字的功能。我已声明嵌套在另一个匿名命名空间下的匿名命名空间,并且命名空间(nester和嵌套)都定义了一个变量i,如下所示:

namespace {
    int i = 80;
    namespace {
        int i = 90;
    }
}

我可以使用i访问顶级命名空间下定义的变量::i,但是如何访问嵌套命名空间下定义的变量i

1 个答案:

答案 0 :(得分:0)

如果为内部作用域中的变量赋予唯一名称,则可以在匿名名称空间外访问它,但只要名称冲突存在,您只能从最内层名称空间按名称访问它。您可以通过其他方式访问它(例如,在最里面的命名空间中创建引用,或者函数)