我对VC中用extern的一个经历:
我在CXXApp theApp的旁边加了一个布尔类型的全局变量,如下:
CXXApp theApp;
bool p_Try;
然后我在其它的对话中调用就出错了,无法识别p_Try,后来也是无意中看到了在某个头文件中看到了extern bool p_Try;而这个头文件就是定义CXXApp类的文件,这个头文件基本上都包含在其它文件中(除了一些自己定义的).
可以看出添加了bool p_Try;还要经过extern bool p_Try才可以调用该变量.最后上网查了,extern bool p_Try只不过是一个声明吧了,所以我们在调用全局变量时要事先用extern告诉调用者这个是全局变量!有这样的变量存在!
所以bool p_Try;只能用一次,是定义!
extern bool p_Try;可以用多次!是声明!