void CSelectServerDlg::DoExceCmd(vector<SSocketInfo> & VecSockInfo, int nIdx)
{
SSocketInfo *SockInfo = &VecSockInfo[nIdx];
switch(SockInfo->cmd.CommandID)
{
case CMD_AUTHEN:
{
DoAuthen(SockInfo->sock, SockInfo->data,SockInfo->cmd.DataSize);
break; }
case CMD_GETFILE:
{
DoGetFile(SockInfo->sock, SockInfo->data,SockInfo->cmd.DataSize);
break;
} case CMD_REGISTER:
{
DoRegister(SockInfo->sock, SockInfo->data,SockInfo->cmd.DataSize);
break;
} default:
break;
}
//执行完命令后就设置回接收指令状态
SockInfo->eCurOp = RecvCmd;
}
以上代码在VS2005环境无法编译通过:
SelectServerDlg.cpp
.\SelectServerDlg.cpp(214) : error C2143: 语法错误 : 缺少“:”(在“;”的前面)
.\SelectServerDlg.cpp(214) : error C2143: 语法错误 : 缺少“;”(在“:”的前面)
.\SelectServerDlg.cpp(215) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
.\SelectServerDlg.cpp(220) : error C2143: 语法错误 : 缺少“:”(在“;”的前面)
.\SelectServerDlg.cpp(220) : error C2143: 语法错误 : 缺少“;”(在“:”的前面)
.\SelectServerDlg.cpp(221) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
.\SelectServerDlg.cpp(226) : error C2143: 语法错误 : 缺少“:”(在“;”的前面)
.\SelectServerDlg.cpp(226) : error C2143: 语法错误 : 缺少“;”(在“:”的前面)
.\SelectServerDlg.cpp(227) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
同样的代码在VC6.0就OK!最近才换IDE,希望高手指点下!
{
SSocketInfo *SockInfo = &VecSockInfo[nIdx];
switch(SockInfo->cmd.CommandID)
{
case CMD_AUTHEN:
{
DoAuthen(SockInfo->sock, SockInfo->data,SockInfo->cmd.DataSize);
break; }
case CMD_GETFILE:
{
DoGetFile(SockInfo->sock, SockInfo->data,SockInfo->cmd.DataSize);
break;
} case CMD_REGISTER:
{
DoRegister(SockInfo->sock, SockInfo->data,SockInfo->cmd.DataSize);
break;
} default:
break;
}
//执行完命令后就设置回接收指令状态
SockInfo->eCurOp = RecvCmd;
}
以上代码在VS2005环境无法编译通过:
SelectServerDlg.cpp
.\SelectServerDlg.cpp(214) : error C2143: 语法错误 : 缺少“:”(在“;”的前面)
.\SelectServerDlg.cpp(214) : error C2143: 语法错误 : 缺少“;”(在“:”的前面)
.\SelectServerDlg.cpp(215) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
.\SelectServerDlg.cpp(220) : error C2143: 语法错误 : 缺少“:”(在“;”的前面)
.\SelectServerDlg.cpp(220) : error C2143: 语法错误 : 缺少“;”(在“:”的前面)
.\SelectServerDlg.cpp(221) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
.\SelectServerDlg.cpp(226) : error C2143: 语法错误 : 缺少“:”(在“;”的前面)
.\SelectServerDlg.cpp(226) : error C2143: 语法错误 : 缺少“;”(在“:”的前面)
.\SelectServerDlg.cpp(227) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
同样的代码在VC6.0就OK!最近才换IDE,希望高手指点下!
void CSelectServerDlg::DoExceCmd(vector <SSocketInfo> & VecSockInfo, int nIdx)
{
SSocketInfo *SockInfo = &VecSockInfo[nIdx];
switch(SockInfo->cmd.CommandID)
{
case CMD_AUTHEN:
{
DoAuthen(SockInfo->sock, SockInfo->data,SockInfo->cmd.DataSize);
}
break;
case CMD_GETFILE:
{
DoGetFile(SockInfo->sock, SockInfo->data,SockInfo->cmd.DataSize);
}
break; case CMD_REGISTER:
{
DoRegister(SockInfo->sock, SockInfo->data,SockInfo->cmd.DataSize);
}
break; default:
break;
}
//执行完命令后就设置回接收指令状态
SockInfo->eCurOp = RecvCmd;
}
//命令定义
#define CMD_AUTHEN 1; //登录认证
#define CMD_GETFILE 2; //获取文件
#define CMD_REGISTER 3; //注册用户
把定义的常量改为数字就可以了!为什么呢?
void CSelectServerDlg::DoExceCmd(vector<SSocketInfo> & VecSockInfo, int nIdx)
{
SSocketInfo *SockInfo = &VecSockInfo[nIdx];
switch(SockInfo->cmd.CommandID)
{
case 1:
{
DoAuthen(SockInfo->sock, SockInfo->data,SockInfo->cmd.DataSize);
//break; }
case 2:
{
DoGetFile(SockInfo->sock, SockInfo->data,SockInfo->cmd.DataSize);
break;
} case 3:
{
DoRegister(SockInfo->sock, SockInfo->data,SockInfo->cmd.DataSize);
break;
} default:
break;
}
//执行完命令后就设置回接收指令状态
SockInfo->eCurOp = RecvCmd;
}
#define CMD_GETFILE 2;//获取文件
#define CMD_REGISTER 3;//注册用户