全局变量应该定义在.cpp中,如果.h文件需要调用该变量,则需要在.h文件中添加extern关键字。若其他文件要调用该变量,则需要在文件中的变量前添加extern,可以不包含对应的.h文件,更不能包含.cpp。
eg1:
/*impro.h*/
extern int a;
/*impro.cpp*/
int a;
/*main.cpp*/
include "impro.h"
int main()
{
a=2;
... ...
}
eg2:
/*impro.cpp*/
int a = 1;
/*main.cpp*/
#include <iostream>
extern int a;
int main()
{
std::cout<<a;
... ...
}