1.全局变量的定义和普通变量的定义相同,只是在别的cpp文件中使用前需要用extern修饰符声明。
例如:
主文件中定义 int global = 0;
别的文件里面用 extern int global;申明一下就可以用了。
2.extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。
楼上 不能再在 .h 中写 static int m_BuyNumber
这样一点意义都没有 在头中定义了一个只在这个头中有可以使用的变量
而且可能造成重定义
C.h 中:
extern int m_BuyNumber;
A.cpp 中:
int m_BuyNumber;
在 .h 中写 static int m_BuyNumber; 的话, A.cpp 和 B.cpp 中的 m_BuyNumber 是两个不同的变量。
C.h
中static int m_BuyNumber;删掉
A.c
加int m_BuyNumber;
B.c
加extern int m_BuyNumber;