首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-07-16 
关于结构体的定义问题!求帮助!!!我编了一段代码,由于在一个结构体内部,可能需要用到这个结构体的类型,所以

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

热点排行