关于CIOCPServer类的GetHostName(SOCKET socket)函数移植到vs2010报错的求助!

cqzj70 2012-11-06 04:16:12
我将CIOCPServer类移植到我的网络验证程序中在vs2010就报错
CString CIOCPServer::GetHostName(SOCKET socket)
{
sockaddr_in sockAddr;
memset(&sockAddr, 0, sizeof(sockAddr));

int nSockAddrLen = sizeof(sockAddr);

BOOL bResult = getpeername(socket,(SOCKADDR*)&sockAddr, &nSockAddrLen);

return bResult != INVALID_SOCKET ? inet_ntoa(sockAddr.sin_addr) : "";
}


error C2664: 'ATL::CStringT<BaseType,StringTraits>::CStringT(const VARIANT &)' : cannot convert parameter 1 from 'void' to 'const VARIANT &'

我也知道是由于在VC6.0下用双目运算符不会报错,到了高版本vs2010就报错,特别是这一句return bResult != INVALID_SOCKET ? inet_ntoa(sockAddr.sin_addr) : "";
望哪位达人修改一下,谢谢。
...全文
96 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqzj70 2012-11-06
  • 打赏
  • 举报
回复
终于找到了原因,属性设多字节OK,只有自己给自己结贴了

18,356

社区成员

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

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