关于const全局变量
为什么我在一个A.cpp文件里定义的const全局变量在另一个B.cpp文件里即使用了extern声明,在链接阶段报变量找不到呢?
但如果把extern声明放在A.h里,让后用B.cpp去包含A.h就没问题.我在资料上看到的这两种方式应该都可以啊.
[解决办法]
对于const变量默认为单个文件作用域,不能在其他文件中使用。
用extern可以忽略const的文件作用域。
//a.cpp
extern const int i=0;//需要显示指定extern
b.cpp
extern const int i;
cout < <i;//OK