在c++中,若要使用全域變數需加上extern這個宣告,例如
extern int i;
但是使用這個變數還有一些小小的限制必須要注意
嚴格來說extern並不算是一個完整的全域變數宣告,他比較像標記,在.h檔內標記變數為全域變數,但是還要在cpp檔中重新定一變數一次
這邊要說的是,當你在unit2.h當中宣告了
extern int i;
這時候還必須在unit2.cpp中重新定義
int i;
要注意的是一定要配合.h檔,在相同名稱的.cpp內重新定義,不然會出現linker error
寫得很亂,隨便啦,反正就是說要配合.h去做全域變數的宣告而已
沒有留言:
張貼留言