首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

extern const 的使用有关问题

2012-08-21 
externconst 的使用问题Test.cppC/C++ codeconst CString a aaaMain.cppC/C++ codeextern const CStr

extern const 的使用问题
Test.cpp

C/C++ code
const CString a = "aaa";


Main.cpp
C/C++ code
extern const CString a;  void CTestMFCDlg::OnOK()   {      AfxMessageBox(a);      CDialog::OnOK();  }  

上述代码在VC6.0下编译不通过。请问为什么?
但是把const CString a = "aaa";换成 extern const CString a = "aaa";就可以成功了



[解决办法]
因为const 修饰之后默认的是internal link属性,你必须用extern来显示声明。
[解决办法]
上面说的对,

非const变量的 默认属性 file间共享的, 所以要把它限制在一个文件内,通常加static,

而const变量刚好相反,默认属性是文件内部可以见的,如果要文件间可见,需要加extern

热点排行