我正在使用Linux进行编译。在struct ip
(对于IPv4)中,当我尝试将值设为ip1.ip_dst = 0xffffffff;
时,会出现以下错误:
错误:从类型'unsigned int'type_ip_dst = 0xffffffff中分配类型'struct in_addr'时出现不兼容的类型;`
我应该为struct in_addr
数据类型的变量赋予什么值?我该如何解决这个错误?
答案 0 :(得分:2)
in_addr
是一个只有unsigned long
成员的结构:
struct in_addr ip_dest;
ip_dest.s_addr = 0xffffffffL;
答案 1 :(得分:1)
我认为在Linux中,
typedef uint32_t in_addr_t;
struct in_addr {
in_addr_t s_addr;
};
您可能希望将您的值转换为(uint32_t)