我用MFC建立项目,建了一个头文件data.h,里面有一个全局变量ptree和一个函数BackSearch()。
我在source file中的一个对话框文件dlgNewNode.cpp和MainFrm.cpp中用了#include "data.h"语句。MainFrm.h中调用#include "dlgNewNode.h"来创建一个对话框。
编译的时候出错:MainFrm.obj : error LNK2005: "void __cdecl BackSearch(struct node *)" (?BackSearch@@YAXPAUnode@@@Z) already defined in dlgNewNode.obj
把其中的#include去掉,就出现ptree在该文件调用中无法识别。这是怎么回事呢?谢谢
我在source file中的一个对话框文件dlgNewNode.cpp和MainFrm.cpp中用了#include "data.h"语句。MainFrm.h中调用#include "dlgNewNode.h"来创建一个对话框。
编译的时候出错:MainFrm.obj : error LNK2005: "void __cdecl BackSearch(struct node *)" (?BackSearch@@YAXPAUnode@@@Z) already defined in dlgNewNode.obj
把其中的#include去掉,就出现ptree在该文件调用中无法识别。这是怎么回事呢?谢谢
或者用
#ifdef XXX
#define XXX
代码
#else
#endif
#include "data.h"
其他地方的去掉,这样就不会出问题了
还有能把“XXX”说具体一些吗?谢谢