读书人

关于结构体的定义有关问题!求帮助!

发布时间: 2012-07-16 15:45:00 作者: rapoo

关于结构体的定义问题!求帮助!!!
我编了一段代码,由于在一个结构体内部,可能需要用到这个结构体的类型,所以需要提前先定义名字,但是一旦这样就会报错,说我redefinition of 'struct cmd_tbl_s'...希望有搞人帮助我一番。。。搞了一天了昨天。。。还是不知道该怎么办。。。

具体代码如下:[code=C/C++][/code]
typedef struct cmd_tbl_s cmd_tbl_t;
typedef struct cmd_session_s cmd_session_t;
struct cmd_tbl_s
{
char *name;
char *usage;
char *numbers;
int (*cmd)(cmd_tbl_t *, int, char *[], cmd_session_t *);
void (*cmd_manual)();
}

然后,就会报错,说redefinition of 'struct cmd_tbl_s',真是不知道该如何是好。。。求帮助。。。

[解决办法]

C/C++ code
/*typedef struct cmd_tbl_s cmd_tbl_t;*/typedef struct cmd_session_s cmd_session_t;typedef struct cmd_tbl_s{  char *name;  char *usage;  char *numbers;  int (*cmd)(struct cmd_tbl_t*, int, char *[], struct cmd_session_t *);  void (*cmd_manual)();} cmd_tbl_t;
[解决办法]
C/C++ code
/*typedef struct cmd_tbl_s cmd_tbl_t;*/typedef struct cmd_session_s cmd_session_t;typedef struct cmd_tbl_s{  char *name;  char *usage;  char *numbers;  int (*cmd)(struct cmd_tbl_t*, int, char *[], struct cmd_session_t *);  void (*cmd_manual)();} cmd_tbl_t;
[解决办法]
人生啊, 是你的头文件没有

#ifndef __ABCDEFGH_H__
#define __ABCDEFGH_H__

//这里放你结构体定义的代码


#endif

读书人网 >C语言

热点推荐