去网上找资料 看到一条
---------
自己定義一個.h文件,然後把所有的全局變量放在其中,在每個使用變量的文件中include
好像一般都是这么做的,尤其是一些比较大的工程,这样在加其他的全程变量是很方便!
----------
但是 去测试的时候一直报错
error LNK2005: "int sNumOfStudent" (?sNumOfStudent@@3HA) already defined in XXX.obj
一想就觉得不对。
分析:
有一个 mData.h文件 包含了一些全局变量、
---mData.h
其余的对其进行包含
------class a
这里会在a.obj中对s_Int和s_Mystr进行初始化 被当做了class a的一个全局变量
-------class b
这里也把s_Int当做自己的类变量,但是s_Int是全局变量,所以会报错redefined..
所以 。。求教这种方法!!
请指导。 是不是要设置静态的??加static?测试过 依然会报错啊
---------
自己定義一個.h文件,然後把所有的全局變量放在其中,在每個使用變量的文件中include
好像一般都是这么做的,尤其是一些比较大的工程,这样在加其他的全程变量是很方便!
----------
但是 去测试的时候一直报错
error LNK2005: "int sNumOfStudent" (?sNumOfStudent@@3HA) already defined in XXX.obj
一想就觉得不对。
分析:
有一个 mData.h文件 包含了一些全局变量、
---mData.h
int s_Int=0;
CString s_Mystr ="";
其余的对其进行包含
------class a
#include "mData.h"
#include "a.cpp"
class a
{
public:
void getData()
{s_Int=1;}
}
这里会在a.obj中对s_Int和s_Mystr进行初始化 被当做了class a的一个全局变量
-------class b
#include"mData.h"
#include"b.cpp"
class b
{
public:
getData()
{s_Int=2;}
}
这里也把s_Int当做自己的类变量,但是s_Int是全局变量,所以会报错redefined..
所以 。。求教这种方法!!
请指导。 是不是要设置静态的??加static?测试过 依然会报错啊