C,C++全局变量的问题
用gcc编译下面代码:
#include <stdio.h>
int b;
b = 1;
int main()
{
printf( "%d\n ",b);
b = 2;
printf( "%d\n ",b);
}
出现:warning: data definition has no type or storage class的警告,但程序能执行,但如果用g++编译器来编译这段代码的话则出现错误:
main.c:4: error: expected constructor, destructor, or type conversion before '= ' token
main.c:4: error: expected `, ' or `; ' before '= ' token
向大家请教这是什么原因?多谢!!!
[解决办法]
只有代码区域才能做b=1这种操作。
其他区域只能申明和初始化
试想想
int b=1.是编译器做的。
b=1代码如何走到这处逻辑呢
[解决办法]
某种操作,需要在某个函数里面~~ 否则是不合理的(不在某个函数里面的语句什么时候执行?)