关于linux下C++中利用socket时的数据类型转换错误

来源:互联网 发布:南京雨花台软件大道 编辑:程序博客网 时间:2024/05/06 15:41
例:ssize_t recvfrom(int sockfd, void *buff, size nbytes, int flags, struct sockaddr *from, socklen_t *addrlen);
最后一个参数不可为int*,否则报错
将参数类型改为socklen_t *后恢复正常
该数据类型可作为sizeof的返回值,不需强制转换(同int?)
gcc编译时无此问题,利用g++编译时出现
windows下最后一个参数类型为int
可以typedef int socklen_t;进行不同平台的对应
 
原创粉丝点击