全局变量声明时如果不赋值,那么就应该在函数内赋值
今天复习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”错误,查了一下,一般是循环引用了或者是命名空间的问题,都不符合我的错误。
经过调查发现:全局变量作用域是在整个程序运行期间,如果要给其赋值,则应当在函数中赋值,而不是声明后再在函数外某一行进行赋值。