vc中调用主对话框时出错怎么办

来源:百度知道 编辑:UC知道 时间:2024/06/30 14:46:07
建立工程Talk于是自动生成CTalkDlg类,新定义一类CMySocket基类是CAsyncSocket 在MySocket类中定义一对话框对象指针CTalkDlg* m_pDlg,
然后再在CTalkDlg 类中声明一个CMySocket类的对象作为CTalkDlg类的一个变量,编译时出错,其中在MySocket.h中已经包含了#include "TalkDlg.h"
在TalkDlg.h中也已经包含了#include "MySocket.h"
不知道是什么问题,请高手指点!!!

首先把 添加的#include "MySocket.h"
#include "TalkDlg.h"删掉
然后在TalkDlg.cpp的
#include "StdAfx.h"后加上
#include "MySocket.h"
在MySocket.cpp的
#include "StdAfx.h"后加上
#include "TalkDlg.h"

相互引用的问题.

第一种解决办法:
在StdAfx.h文件中加入
#include "TalkDlg.h"
#include "MySocket.h"
TalkDlg.h MySocket.h就不要相互引入了

第二种解决办法:
在MySocket.h最上面加入class CTalkDlg;
在MySocket.cpp中加入 #include "CTalkDlg.h"
在MyTalkDlg.h最上面加入 #include "MySocket.h"