
1个回答
展开全部
头文件互相包含,肯定会出问题的。
有个简单的解决办法,在头文件里不要包含对方的头文件,而用个类的前向声明就可以了。
比如,在parentdlg.h里,在类CParentDlg的定义前加个类的前向声明:
class CChildDlg; //类的前向声明
class CParentDlg : public CDialog //CParentDlg的定义。
{
…………
在childdlg.h里,也这么做:
class CParentDlg; //类的前向声明
class CChildDlg: public CDialog //CChildDlg的定义。
{
…………
而把#include "parentdlg.h"放到childdlg.cpp里,把#include "childdlg.h"也放到parentldlg.cpp里,在头文件里不要include。
有个简单的解决办法,在头文件里不要包含对方的头文件,而用个类的前向声明就可以了。
比如,在parentdlg.h里,在类CParentDlg的定义前加个类的前向声明:
class CChildDlg; //类的前向声明
class CParentDlg : public CDialog //CParentDlg的定义。
{
…………
在childdlg.h里,也这么做:
class CParentDlg; //类的前向声明
class CChildDlg: public CDialog //CChildDlg的定义。
{
…………
而把#include "parentdlg.h"放到childdlg.cpp里,把#include "childdlg.h"也放到parentldlg.cpp里,在头文件里不要include。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询