C/C++_log2000_namespace再探
来源:互联网 发布:网络中央控制主机 编辑:程序博客网 时间:2024/05/20 15:38
#include<iostream>using namespace std;int i; //std 中的全局变量namespace a{ int i; //a 中的全局变量}int main(){ i=5; a::i=55; { using namespace a; int j; j=7; cout<<"i="<<i<<endl;//如果不做设定,直接输出i会报错,因为不知道是输出全局变量i还是namespace a中的i cout<<"j="<<j<<endl; } cout<<"i="<<i<<endl; return 0;}
错误信息
||=== Build file: "no target" in "no project" (compiler: unknown) ===|~.cpp||In function 'int main()':|~.cpp|14|error: reference to 'i' is ambiguous|~.cpp|3|note: candidates are: int i|~.cpp|5|note: int a::i|||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
更改一下
#include<iostream>using namespace std;int i; //std 中的全局变量namespace a{ int i; //a 中的全局变量}int main(){ i=5; a::i=6; { using namespace a; int j; j=7; cout<<"i="<<a::i<<endl; cout<<"j="<<j<<endl; } cout<<"i="<<i<<endl; return 0;}
输出正常
i=6j=7i=5
再变一下
#include<iostream>using namespace std;int i; //std 中的全局变量namespace a{ int j; //a 中的全局变量}int main(){ i=5; a::j=6; { using namespace a; int i; i=7; cout<<"i="<<i<<endl; cout<<"j="<<j<<endl; } cout<<"i="<<i<<endl; return 0;}
输出
i=7j=6i=5
0 0
- C/C++_log2000_namespace再探
- C/C++_log2000_namespace使用辨析
- 【C/C++】再探string
- c
- c
- c
- c
- C
- c
- c
- c
- C+
- c
- C
- c
- c
- c
- C
- 一个优秀的Android应用从建项目开始
- CentOS7安装Docker全程并启动
- js中arguments的用法
- kmeans聚类算法
- 多态中的模型
- C/C++_log2000_namespace再探
- 服务器返回JSON,IE出现下载问题
- 手机页面信息
- Java模拟两个大整数的加法、乘法、除法
- Android性能优化典范
- mysql mac 客户端
- 198. House Robber
- Caffe学习系列(12):训练和测试自己的图片
- 23中设计模式之_原型模式(深/浅拷贝)