MFC共享全局变量

来源:互联网 发布:centos tmp 自动清理 编辑:程序博客网 时间:2024/05/16 08:12
去网上找资料 看到一条
---------
自己定義一個.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?测试过  依然会报错啊
0 0
原创粉丝点击