请教一个简单的问题,急急!!!

rubber365 2003-07-31 11:58:50
我用向导生成了一个基于对话框的MFC程序(包含三个类CAboutDlg,CTalkApp,CTalkDlg),然后我又新建了一个类CMySocket,这个类被CTalkDlg所使用:
...................
private:
CMySocket m_sConnectSocket;
CMySocket m_sListenSocket;
...................
这样仍然没有问题,

问题是CMySocket中竟然又要使用到CTalkDlg类,有如下的成员函数
void CMySocket::SetParent(CTalkDlg *pDlg)
{

}

这样,问题就出来了,编译也无法通过:

错误提示:
-------------------Configuration: Talk - Win32 Debug--------------------
Compiling...
MySocket.cpp
d:\zjol_tool\vc\talk\mysocket.h(19) : error C2061: syntax error : identifier 'CTalkDlg'
D:\zjol_tool\VC\Talk\MySocket.cpp(31) : error C2511: 'SetParent' : overloaded member function 'void (class CTalkDlg *)' not found in 'CMySocket'
d:\zjol_tool\vc\talk\mysocket.h(16) : see declaration of 'CMySocket'
Generating Code...
Compiling...
Talk.cpp
d:\zjol_tool\vc\talk\mysocket.h(19) : error C2061: syntax error : identifier 'CTalkDlg'
Generating Code...
Compiling...
TalkDlg.cpp
d:\zjol_tool\vc\talk\mysocket.h(19) : error C2061: syntax error : identifier 'CTalkDlg'
Generating Code...
Error executing cl.exe.
Creating browse info file...

Talk.exe - 4 error(s), 0 warning(s)


烦请大家帮忙看看!
...全文
203 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rubber365 2003-07-31
  • 打赏
  • 举报
回复
太感谢了!谢谢!可以告诉我你的QQ和MSN么方便请教
dz_w 2003-07-31
  • 打赏
  • 举报
回复
可以如下解决:
1、声明void CMySocket::SetParent(CTalkDlg *pDlg)
改为
void CMySocket::SetParent(CWnd *pDlg)
在实现文件里.cpp添加#include "TalkDlg.h"然后在函数里强制转换为CTalkDlg型指针。
2、不需要改,在MySocket.h文件的CMySocket声明的上部加上class CTalkDlg一句。
然后在实现文件里.cpp添加#include "TalkDlg.h"。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧