我定义了一个类CGlobal,在Global.h中加入如下代码#include "Users.h" CUsers curUser;
因为我想让curUser成为全局变量,所以在stdAfx.h中加入如下代码#include "Global.h"
但是当我在别的文件中中想引用curUser变量时,加入了如下代码extern CUsers curUser;
并对该变量进行操作(错误与该操作无关)
可是却提示错误:
"class CUsers curUser" (?curUser@@3VCUsers@@A) already defined in HospitalSystemDlg.obj()请问这是什么原因,我所写的代码是不是有错误或者对方写错了,望高手指导!
(注:这是一个对话框的mfc程序,HospitalSystemDlg是主对话框)
因为我想让curUser成为全局变量,所以在stdAfx.h中加入如下代码#include "Global.h"
但是当我在别的文件中中想引用curUser变量时,加入了如下代码extern CUsers curUser;
并对该变量进行操作(错误与该操作无关)
可是却提示错误:
"class CUsers curUser" (?curUser@@3VCUsers@@A) already defined in HospitalSystemDlg.obj()请问这是什么原因,我所写的代码是不是有错误或者对方写错了,望高手指导!
(注:这是一个对话框的mfc程序,HospitalSystemDlg是主对话框)
#include "Users.h"extern CUsers curUser;在Global.cpp中加入如下代码:
#include "Users.h"
#include "Global.h"CUsers curUser;stdAfx.h中加入如下代码
#include "Global.h" 当你在别的文件中中想引用curUser变量时,无需加入如下代码extern CUsers curUser; 直接可以使用 curUser,只要这个文件加入了对stdAfx.h的引用。
#deifine _MY_H
....
#endif
来处理。
你可以看看http://blog.vckbase.com/arong/archive/2004/05/28/294.aspx
在.h文件中添加如下代码:
#include "Users.h"
extern CUsers curUser;
在.cpp文件中添加如下代码:
CUsers curUser;
这样即可
但是一楼说在Global.cpp中还要添加#include "Users.h"
因为#include "Users.h"已经包含在Global.h中了,所以在Global.cpp中应该是可以省略的吧
CUsers curUser;
这个放再global.cpp或者其他cpp,如果你不放global.cpp,global.cpp可以省略