【C/C++錯誤警示】全域性變數外不能賦值
今天寫了一段程式碼,一開始就編譯不過。簡言之,是犯了這樣的錯誤。
我在所有的函式外寫了類似這樣的程式碼(只是用一個簡單的例子說明)
int i;
i = 0;
報錯資訊長這樣: [Error] 'i' does not name a type
原因:不能在函式外給全域性變數賦值。
補充:雖然不能在函式外給全域性變數賦值,但可以初始化,即int i = 0;
解決方案:簡單的資料型別可以直接初始化,複雜的(如自定義的struct, class等,或是陣列 、容器等)可以在函式外定義,在函式內賦值。比如我寫了一個init()函式,為這些全域性變數賦值。