读书人

关于const全局变量解决办法

发布时间: 2012-02-19 19:43:38 作者: rapoo

关于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

读书人网 >C++

热点推荐