- 论坛徽章:
- 1
|
本帖最后由 jd808 于 2016-03-14 14:30 编辑
- bool UDPRecv::UDPRecv(int hSock,char ** pchOutBuf,int * nOutLen,struct sockaddr_in * From)
- {
- //定义接收缓冲区
- char chBuf[DATA_BUFSIZE];
- unsigned long dwRecvLen = 0;
- bool bRet = false;
- if(pchOutBuf == NULL ||
- nOutLen == NULL || From == NULL)return false;
- memset(chBuf,0,DATA_BUFSIZE);
- int len = sizeof((struct sockaddr*)From);
- //接收数据
- dwRecvLen = recvfrom(hSock,chBuf,DATA_BUFSIZE,0,(struct sockaddr*)From,&len);
- if(dwRecvLen == -1)return false;
- return
- UDPRecv(hSock,chBuf,dwRecvLen,From,&(*pchOutBuf),nOutLen);
- }
复制代码 为啥eclipse提示 Invalid arguments ' Candidates are: long int recvfrom(int, void *, unsigned long int, int, sockaddr *, unsigned int *) '这个错误呢?
我查了网上的,都是这么用的呀
编译提示
error: invalid conversion from ‘int*’ to ‘socklen_t* {aka unsigned int*}’ [-fpermissive] |
|