在源文件a.cpp中定义一个全局变量:int sign = 0;
想要在源文件b.cpp中使用这个全局变量,则需要在b.cpp中声明这个全局变量是在其他的文件中定义的:extern int sign;
在用extern声明变量sign时,最好不要给sign初始化,如果写为extern int sign = 0; 则不是声明sign,而是定义sign,声明不会分配存储空间,定义会分配存储空间。并且在gcc编译器下不会通过编译。
在源文件a.cpp中定义一个全局变量:int sign = 0;
想要在源文件b.cpp中使用这个全局变量,则需要在b.cpp中声明这个全局变量是在其他的文件中定义的:extern int sign;
在用extern声明变量sign时,最好不要给sign初始化,如果写为extern int sign = 0; 则不是声明sign,而是定义sign,声明不会分配存储空间,定义会分配存储空间。并且在gcc编译器下不会通过编译。