首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

error C2664: “bind”: 不能将参数 一 从“sockaddr_in”转换为“SOCKET”

2012-09-23 
error C2664: “bind”: 不能将参数 1 从“sockaddr_in”转换为“SOCKET”如题,这个错误不知道怎么修改。是我要自

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 ;    } 

热点排行