未申报的变量

时间:2012-04-15 10:28:32

标签: c linux sockets

我正在尝试创建套接字,我应该描述一些结构:

(struct in_addr) addr;
addr.s_addr = INADDR_ANY;

我也包含了标题

#include <sys/socket.h>
#include <sys/types.h>

但是gcc说有一个错误:

error: ‘addr’ undeclared (first use in this function)

我做错了什么?

2 个答案:

答案 0 :(得分:3)

要声明新的in_addr结构,您需要删除这些括号:

struct in_addr addr;
addr.s_addr = INADDR_ANY;

目前你所拥有的是一个演员,这意味着(大约)&#34;假设addr已经是某个其他类型的声明变量,请尝试将其转换为struct in_addr &#34;

答案 1 :(得分:1)

将括号留下。写一下

struct in_addr addr;