关于结构体的定义问题!求帮助!!!
我编了一段代码,由于在一个结构体内部,可能需要用到这个结构体的类型,所以需要提前先定义名字,但是一旦这样就会报错,说我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