向各位大侠高手求帮助

mingren6 2012-07-04 06:45:03
最近学习用VC++写一个TCP服务器,书本上有个例子,建立工程时,是基于对话框形式的。模仿书上的例子,我想写一个基于单文档形式的,通过在文档的视图中插入有用的控件建立一个TCP服务器。我在Dialog选项中插入两个IDD_FORMVIEW对话框,并调用CSplitterWnd类对象m_wndSplitter,将窗口分成了两部分,我为两个IDD_FORMVIEW分别起了新的类名CFormviewo、Formviewt,并在类名为CFormviewo的对话框里面添加了用于建立TCP服务器的控件。在CLASSVIEW视图中我添加了基于CAsyncSocket类的新类,取名为CServerSocket,我在ServerSocket.h文件中添加了头文件#include <afxsock.h> ,在Formviewo.h文件中也添加了#include "ServerSocket.h",但程序写完编译时,还是出现下面错误,(m_ServerSocket是我定义的基于类CServerSocket的成员变量,)我定义的CServerSocket是基于CAsyncSocket类的啊,为什么程序里还说我没定义呢?小弟刚开始学TCP服务器,希望各位大侠能帮忙解决一下,谢谢了!

\formviewo.h(40) : error C2146: syntax error : missing ';' before identifier 'CServerSocket'
\formviewo.h(40) : error C2501: 'm_ServerSocket' : missing storage-class or type specifiers
\formviewo.h(40) : error C2208: 'class CServerSocket' : no members defined using this type
\Formviewo.cpp(79) : error C2065: 'm_ServerSocket' : undeclared identifier
Error executing cl.exe
...全文
46 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
许文君 2012-07-05
我怀疑你自己添加反了吧?所以以后还是自己手动添加好。
回复
oyljerry 2012-07-05
[Quote=引用 3 楼 的回复:]
我检查了一下,好像是类和成员变量的位置颠倒了,程序修改前是这样

class CFormviewo : public CFormView

public:
m_ServerSocket CServerSocket ;

我把类和成员变量的名换了一下,就没错了,谢谢大家了。
我还有个问题,我明明是向对话框类CFormView里添加了基于类CServerSocket的成员变量 m_……
[/Quote]
估计编译器除了bug
回复
Gloveing 2012-07-05
[Quote=引用 3 楼 的回复:]
我检查了一下,好像是类和成员变量的位置颠倒了,程序修改前是这样

class CFormviewo : public CFormView

public:
m_ServerSocket CServerSocket ;

我把类和成员变量的名换了一下,就没错了,谢谢大家了。
我还有个问题,我明明是向对话框类CFormView里添加了基于类CServerSocket的成员变量 m_……
[/Quote]
m_ServerSocket CServerSocket ;//这种当然不行。。
回复
mingren6 2012-07-05
我检查了一下,好像是类和成员变量的位置颠倒了,程序修改前是这样

class CFormviewo : public CFormView

public:
m_ServerSocket CServerSocket ;

我把类和成员变量的名换了一下,就没错了,谢谢大家了。
我还有个问题,我明明是向对话框类CFormView里添加了基于类CServerSocket的成员变量 m_ServerSocket,继承方式选择public,程序生成的代码怎么顺序颠倒了?
回复
ServerSocket.h 是在你的工程目录下吗
回复
Gloveing 2012-07-04
贴代码吧。
回复
相关推荐
发帖
网络编程
创建于2007-09-28

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2012-07-04 06:45
社区公告
暂无公告