这个问题已经在链接unnamed namespace within named namespace中讨论过,但是没有提供完美的答案来解决如何访问嵌套在命名空间下的未命名命名空间的变量,如果两个变量都相同。
考虑这段代码:
namespace apple {
namespace {
int a=10;
int b=10;
}
int a=20;
}
int main()
{
cout<<apple::b; //prints 10
cout<<apple::a; // prints 20
}
未命名的命名空间中的变量"a"
始终是隐藏的。如何访问未命名命名空间中的变量"a"
?
在命名的命名空间内声明未命名的命名空间是否合法?