- 我想知道的是,匿名空间与默认的全局空间是什么关系?
- 自由函数和变量是否是在匿名空间中?如果是,下面代码原因为何? 如下代码:
namespace
{
int a = 10;
}
int a = 20;
cout << ::a <<endl; //不会报错,如果自由函变量也是在匿名空间中,则应该报错
cout<<a << endl ; //报错ambigous,如果自由变量不在匿名空间中,为什么会报错?
namespace
{
int a = 10;
}
int a = 20;
cout << ::a <<endl; //不会报错,如果自由函变量也是在匿名空间中,则应该报错
cout<<a << endl ; //报错ambigous,如果自由变量不在匿名空间中,为什么会报错?