我對(duì)VC中用extern的一個(gè)經(jīng)歷:
我在CXXApp theApp的旁邊加了一個(gè)布爾類型的全局變量,如下:
CXXApp theApp;
bool p_Try;
然后我在其它的對(duì)話中調(diào)用就出錯(cuò)了,無(wú)法識(shí)別p_Try,后來(lái)也是無(wú)意中看到了在某個(gè)頭文件中看到了extern bool p_Try;而這個(gè)頭文件就是定義CXXApp類的文件,這個(gè)頭文件基本上都包含在其它文件中(除了一些自己定義的).
可以看出添加了bool p_Try;還要經(jīng)過(guò)extern bool p_Try才可以調(diào)用該變量.最后上網(wǎng)查了,extern bool p_Try只不過(guò)是一個(gè)聲明吧了,所以我們?cè)谡{(diào)用全局變量時(shí)要事先用extern告訴調(diào)用者這個(gè)是全局變量!有這樣的變量存在!
所以bool p_Try;只能用一次,是定義!
extern bool p_Try;可以用多次!是聲明!