全局變量聲明時如果不賦值,那么就應該在函數內賦值
今天復習const在C和C++中的使用方法,代碼如下:
//file1.cpp
int ext;
//file2.cpp
extern int ext;
int main()
{
std::cout<<(ext+10)<<std::endl;
}
...
發現如果在file1.cpp中,對ext定義時賦值,無問題,一旦在file1.cpp下一行再賦值就提示“does not name a type”錯誤,查了一下,一般是循環引用了或者是命名空間的問題,都不符合我的錯誤。
經過調查發現:全局變量作用域是在整個程序運行期間,如果要給其賦值,則應當在函數中賦值,而不是聲明后再在函數外某一行進行賦值。