我将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) : "";
望哪位达人修改一下,谢谢。