我现在有个问题,就是在客户端的OnReceive函数里接收传输来的文件,从if(type == SEND_FILE)开始的整个内容都是传输文件操作,这段代码加入进去之前没有错误,加入之后再编译出现5个错误:
e:\改版程序\基于vc的tcp聊天(改版3+发送失去连接信息)\基于vc的tcp聊天(改版1)1\基于vc的tcp聊天6\基于vc的tcp聊天55\基于vc的tcp聊天\mychatdlg.h(24) : error C2629: unexpected 'class CMyChatDlg ('
e:\改版程序\基于vc的tcp聊天(改版3+发送失去连接信息)\基于vc的tcp聊天(改版1)1\基于vc的tcp聊天6\基于vc的tcp聊天55\基于vc的tcp聊天\mychatdlg.h(24) : error C2238: unexpected token(s) preceding ';'
e:\改版程序\基于vc的tcp聊天(改版3+发送失去连接信息)\基于vc的tcp聊天(改版1)1\基于vc的tcp聊天6\基于vc的tcp聊天55\基于vc的tcp聊天\mychatdlg.h(25) : error C2143: syntax error : missing ';' before '*'
e:\改版程序\基于vc的tcp聊天(改版3+发送失去连接信息)\基于vc的tcp聊天(改版1)1\基于vc的tcp聊天6\基于vc的tcp聊天55\基于vc的tcp聊天\mychatdlg.h(25) : error C2501: 'CClientSocket' : missing storage-class or type specifiers
e:\改版程序\基于vc的tcp聊天(改版3+发送失去连接信息)\基于vc的tcp聊天(改版1)1\基于vc的tcp聊天6\基于vc的tcp聊天55\基于vc的tcp聊天\mychatdlg.h(25) : error C2501: 'm_pSocket' : missing storage-class or type specifiers
。把这段传输文件的代码再删除了还是会出现这些错误(为什么变回原样还会有错误)。
下面是错误对应的地方:
CMyChatDlg(CClientSocket *p_Socket,CWnd* pParent = NULL); // standard constructor
CClientSocket *m_pSocket;下面是源程序
void CClientSocket::OnReceive(int nErrorCode) 
{
// TODO: Add your specialized code here and/or call the base class
char buff[sizeof(Header)];
memset(buff,0,sizeof(buff));
Receive(buff,sizeof(buff)); Header *header = (Header*)buff;
int length = header->len;
char type = header->type;

if(type == SEND_MESSAGE)
{
chatDlg->GetMessage();
}
if(type == LOGIN_IO)
{
chatDlg->UpdateUser();
}
if(type == SEND_DISCONNECT)
{
chatDlg->GetDisconnect();
}
    if(type == SEND_FILE)
{   
  Receive((char*)&DataPacket,sizeof(DataPacket));
if(chatDlg->MessageBox("对方客户端发送文件给你,你是否接收?","提  问",MB_OKCANCEL|MB_ICONQUESTION)==IDOK)
{
           FILE *fp;
           CString filter="文本文件(*.txt)|*.txt|c++文件(*.h,*.cpp)|(*.h,*.cpp)|其他(*.*)|*.*||";
           CFileDialog savedlg(FALSE,NULL,NULL,OFN_HIDEREADONLY,filter);
   CString filename;
           if(savedlg.DoModal()==IDOK)
   filename=savedlg.GetPathName();
   fp=fopen(filename,"w");
   if(fp==NULL)
   savedlg.MessageBox("不能保存文件");
   for(int i=0;i<DataPacket.len;i++)
   fputc(DataPacket.ffdata[i],fp);
   fclose(fp);
                   char a[100];
itoa(DataPacket.len,a,10);
       
CEdit *p_Edit = (CEdit *)::AfxGetMainWnd()->GetDlgItem(IDC_EDIT_LIST);
        CString strTemp="系统信息";
strTemp+=_T("\r\n");
        strTemp+="接收到来自某客户的文件:";
        strTemp+=DataPacket.name;
strTemp+="   文件大小:";
strTemp+=a;
strTemp+=_T("\r\n");
        strTemp+="  保存于:";
        strTemp+=filename;
        strTemp+=_T("\r\n");
p_Edit->ReplaceSel(strTemp);
}
        

} CSocket::OnReceive(nErrorCode);
}
我没发现有任何问题。谢谢各位帮帮忙啦,如果可以我把源程序发给您帮我看看