蓝月心语 2017-08-04 06:25 采纳率: 62.5%
浏览 1267
已结题

c++ 匿名空间与默认的空间是什么关系

  • 我想知道的是,匿名空间与默认的全局空间是什么关系?
  • 自由函数和变量是否是在匿名空间中?如果是,下面代码原因为何? 如下代码:
namespace
{
    int a = 10;
}

int  a = 20;

cout << ::a <<endl; //不会报错,如果自由函变量也是在匿名空间中,则应该报错
cout<<a << endl ; //报错ambigous,如果自由变量不在匿名空间中,为什么会报错?

  • 写回答

2条回答 默认 最新

  • jalen_zh 博客专家认证 2017-08-04 08:40
    关注

    建议你去查一下那个单词的意思;这个单词的意思是二义性的意思,也就是说,在你的匿名空间和全局空间都有一个a,但是你却没有指明空间名字,
    导致计算机没法确定到底是哪个a;你第一个之所以不会报错就是因为你在前面加了空间名字

    评论

报告相同问题?

悬赏问题

  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算