typedef 定义一个类型出错

sno_guo 2012-03-20 08:48:00
各位好,刚才在定义一个类型的时候,感觉没有问题,可是在用gcc编译时,老是提示说定义
error: syntax error before "SEND_BUF_S" 真的不清楚哪里出问题了,各位帮忙看下,谢谢
!

我定义的如下:

typedef struct MSG_BUF {
long Des; ///< message type, must be > 0 .xxxx
int cmd; ///< data .
int Src;
int ret;
int NoChnl;
int fmt;
MSG_MEM mem_info;
FrameInfo_t frame_info;
SEND_BUF_S stStreamBuf;
} MSG_BUF;
/*-----------------------------------------------------------------------*/
其中 MSG_MSM 定义的是:
typedef struct _MSG_MEM{
unsigned long addr;
unsigned long size;
}MSG_MEM;
FrameInfo_t 定义的是:
typedef struct _FrameInfo{
int offset;
int serial_no;
int size;
int width;
int height;
int format;
int frameType;
unsigned int quality;
unsigned int flags;
unsigned int timestamp;
unsigned int temporalId;
int ref_serial[FMT_MAX_NUM];
}FrameInfo_t;

百思不得其解, 各位 帮忙下啊!!!!!谢谢了
...全文
146 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sno_guo 2012-03-21
  • 打赏
  • 举报
回复
谢谢各位, 我在提问前的代码 是这样的,先定义了 一个SEND_BUF_S 在头文件AA中,然后在 另一头文件BB中定义了
MSG_MEM FrameInfo_t 这 两个结构体,最后再在BB文件中定义的 MSG_BUF;

这样的就是出现语法错误.

后来,我晚上想了半天,实验了下把SEND_BUF_S 也定义在BB文件中, 这样就问题解决了,可是我第一种方案也把AA的头文件包含过来了啊, 不知道为什么 第一种方案就是不行,谢谢!

huang_jinjin 2012-03-20
  • 打赏
  • 举报
回复
二楼说的有道理
老鼠期待爱 2012-03-20
  • 打赏
  • 举报
回复
SEND_BU_S上面不是一个FrameInfo_t嘛,但是FrameInfo_t的定义却是在下面的饿,这个就导致MSG_BUF会找不到结构体FrameInfo_t,你可以将两个结构体掉一下位置,这个是从你贴的这部分代码看的
JoeBlackzqq 2012-03-20
  • 打赏
  • 举报
回复
代码不够全,看不出来噢。
李迟 2012-03-20
  • 打赏
  • 举报
回复
SEND_BUF_S是个什么东东?

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧