Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 winsock2.h 并尝试初始化 sockaddr_in 对象的 sin_addr。
sockaddr_in addr; addr.sin_addr = INADDR_ANY; // ERROR C2679 there is no assignment operator addr.sin_addr = inet_addr("0.0.0.0"); // Also ERROR C2679
为什么?每个教程都说要这样做,为什么这不起作用?如何初始化它?
inet_addr返回一个类型的值,in_addr_t它基本上是一个普通的整数值。
inet_addr
in_addr_t
该sin_addr成员是 a ,与(尽管名称相似)struct in_addr不兼容。in_addr_t
sin_addr
struct in_addr
但是struct in_Addr有一个s_addr成员可以分配给:
struct in_Addr
s_addr
addr.sin_addr.s_addr = inet_addr(...);
如果您检查示例和教程有点接近,那么我敢打赌这就是您将看到的。