读书人

error C2664: “bind”: 不能将参数 一

发布时间: 2012-09-23 10:28:11 作者: rapoo

error C2664: “bind”: 不能将参数 1 从“sockaddr_in”转换为“SOCKET”
如题,这个错误不知道怎么修改。是我要自己重新重载=?还是该怎么解决?在google 上没有找到解决办法。大神们帮忙!

[解决办法]
你参数传错了
[解决办法]
给你一个例子:

C/C++ code
    WSADATA wsaData;    SOCKET ServerSocket;    SOCKET NewSocket;    SOCKADDR_IN ServerAddr;    SOCKADDR_IN ClientAddr;    int ClientAddrLen;    int ServerPort = 4000;    char ReceiveBuffer[1024];    int Result;    int ReceiveLen;    if ((Result = WSAStartup(MAKEWORD(2, 2), &wsaData)) != 0)    {        printf("WSAStartup failed with error %d\n", Result);        return ;    }    ServerSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);    if (ServerSocket < 0)    {        printf("socket failed with error %d\n", WSAGetLastError());        return ;    }    //memset(&ServerAddr, 0, sizeof(ServerAddr));    ServerAddr.sin_family = AF_INET;    ServerAddr.sin_port = htons(ServerPort);    ServerAddr.sin_addr.s_addr = htonl(INADDR_ANY);    //ServerAddr.sin_addr.s_addr = inet_addr("202.11.11.1" );    Result = bind(ServerSocket, (SOCKADDR*) &ServerAddr, sizeof(ServerAddr));    if (Result < 0)    {        printf("bind failed with error %d\n", WSAGetLastError());        return ;    } 

读书人网 >windows

热点推荐