0
抜粋:Winsock2.h:FD_SET:符号付きと符号なし整数式との比較winsock2.hから
#define FD_SET(fd, set) do { u_int __i;\
for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\
if (((fd_set *)(set))->fd_array[__i] == (fd)) {\
break;\
}\
}\
if (__i == ((fd_set *)(set))->fd_count) {\
if (((fd_set *)(set))->fd_count < FD_SETSIZE) {\
((fd_set *)(set))->fd_array[__i] = (fd);\
((fd_set *)(set))->fd_count++;\
}\
}\
} while(0)
私はタイプint
とタイプfd_set *
のset
のfd
に渡しています。警告の原因はFD_SETSIZE
の#defineから発生する可能性があります。同じヘッダから別の抜粋:
#ifndef FD_SETSIZE
#define FD_SETSIZE 64
#endif
私は前winsock2.hを含めへ64U
にFD_SETSIZE
を再定義しますが、これはそれを修正していないようです。