字段有不完整的类型错误

Tib*_*ibo 0 c struct types incomplete-type

在我的C代码中,我有一个tcpsock.c和tcpsock.h文件.tpcsock.c文件包含tcpsock.h文件.此套接字代码用于connmgr.c(包括tcpsock.c).在C文件中我有两个结构,定义如下:

struct tcpsock{
   long cookie;
   int sd;
   char * ip_addr;
   int port;
};

struct conn{
   struct tcpsock_t socket;
   long last_active;
};
Run Code Online (Sandbox Code Playgroud)

在头文件中,我有以下代码:

typedef struct tcpsock tcpsock_t;
typedef struct conn conn_t;
Run Code Online (Sandbox Code Playgroud)

当我尝试编译它时,我收到以下错误:

In file included from connmgr.c:12:0:
lib/tcpsock.c:78:22: error: field ‘socket’ has incomplete type
struct tcpsock_t socket;
                 ^
Run Code Online (Sandbox Code Playgroud)

我一直在寻找,但无法找到解决方案,所以我希望这里的任何人都可以帮助我.提前致谢!

jbo*_*ann 7

typedef struct tcpsock tcpsock_t;定义tcpsock_tstruct tcpsock.因此,您的结构定义必须如下所示:

struct conn{
   tcpsock_t socket;
   long last_active;
};
Run Code Online (Sandbox Code Playgroud)