例: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;进行不同平台的对应
关于linux下C++中利用socket时的数据类型转换错误
最新推荐文章于 2024-01-03 09:17:27 发布