因头文件而引起的编译错误,改到快吐血了还是不行!!!

牧羊人Full 2014-04-15 06:51:53
出错的两个头文件
为了简洁,系统自动生成的就直接删除了
SrvSock.h

#include "SrvRoom.h"
class CSrvSock : public CSocket
{
// Attributes
public:

// Operations
public:
CSrvSock();
virtual ~CSrvSock();
CSrvSock(CSrvRoom* pDlg);

protected:
CSrvRoom* m_pDlg;
};


SrvRoom.h

#include "SrvSock.h"

class CSrvRoom : public CDialog
{
private:
BOOL Init();
CSrvSock* m_pListen;
};


这样包含头文件会出现这样的错误:
e:\c_file\test\srvsock.h(24) : error C2629: unexpected 'class CSrvSock ('
e:\c_file\test\srvsock.h(24) : error C2238: unexpected token(s) preceding ';'
e:\c_file\test\srvsock.h(39) : error C2143: syntax error : missing ';' before '*'
e:\c_file\test\srvsock.h(39) : error C2501: 'CSrvRoom' : missing storage-class or type specifiers
e:\c_file\test\srvsock.h(39) : error C2501: 'm_pDlg' : missing storage-class or type specifiers
SrvSock.cpp
e:\c_file\test\srvroom.h(43) : error C2143: syntax error : missing ';' before '*'
e:\c_file\test\srvroom.h(43) : error C2501: 'CSrvSock' : missing storage-class or type specifiers
e:\c_file\test\srvroom.h(43) : error C2501: 'm_pListen' : missing storage-class or type specifiers

24对应SrvSock.h第11行,39对应SrvSock.h第14行,43对应SrvRoom.h第7行!

我也试过其他方法,比如把头文件包含在.cpp文件中,包含在stdafx.h中,或者包含在app.h中都会出现未定义或者以上这些错误!!!
...全文
84 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
牧羊人Full 2014-04-15
  • 打赏
  • 举报
回复
3楼正解,非常感谢
mayudong1 2014-04-15
  • 打赏
  • 举报
回复
在class CSrvRoom 上一行加一句class CSrvSock; 或者在class CSrvSock上一行加一句 class CSrvRoom; 试试 或者参数和成员变量写成 CSrvSock(class CSrvRoom* pDlg); class CSrvSock* m_pListen; class CSrvRoom* m_pDlg;
牧羊人Full 2014-04-15
  • 打赏
  • 举报
回复
试过的了,我还特意把系统的删了,再加上这句还是不行啊
worldy 2014-04-15
  • 打赏
  • 举报
回复
头文件中加入 #prama once试试

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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