在 Linux 上使用 C++,我只是相当愚蠢地写了这个:
struct in_addr ip_addr = ((struct sockaddr_in)socket_addr).sin_addr;
而不是预期的:
struct in_addr ip_addr = ((struct sockaddr_in*)&socket_addr)->sin_addr;
给我这个错误:
"error: no matching function for call to ‘sockaddr_in::sockaddr_in(sockaddr&)"
我知道为什么会出现错误(我试图转换结构),但我不明白为什么错误消息说明了它的作用。有人可以解释一下吗?