2008年4月8日 星期二

C++ extern 全域變數正確用法

在c++中,若要使用全域變數需加上extern這個宣告,例如

extern int i;

但是使用這個變數還有一些小小的限制必須要注意

嚴格來說extern並不算是一個完整的全域變數宣告,他比較像標記,在.h檔內標記變數為全域變數,但是還要在cpp檔中重新定一變數一次

這邊要說的是,當你在unit2.h當中宣告了

extern int i;

這時候還必須在unit2.cpp中重新定義

int i;

要注意的是一定要配合.h檔,在相同名稱的.cpp內重新定義,不然會出現linker error

寫得很亂,隨便啦,反正就是說要配合.h去做全域變數的宣告而已

沒有留言: