C语言中的tpyedef问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 04:43:18
定义:
typedef unsigned int UWORD;
应用时:typedef struct {
union {
UWORD w;
UBYTE b[2];
} int_req;
}

却无法识别UWORD,怎么回事?
本人用VC编译是正确的,可是在我的Keil uVision3环境中却出现了问题。
SPC3DPS2.H(183): error C25: syntax error near 'UWORD'
SPC3DPS2.H(183): warning C34: 'w': missing declaration specifiers
SPC3DPS2.H(183): error C42: 'w': not in formal parameter list
SPC3DPS2.H(184): warning C34: 'UBYTE': missing declaration specifiers
SPC3DPS2.H(184): error C42: 'UBYTE': not in formal parameter list
SPC3DPS2.H(184): error C25: syntax error near 'b'
SPC3DPS2.H(184): warning C34: 'b': missing declaration specifiers
SPC3DPS2.H(184): error C42: 'b': not in formal parameter list

很明显,语句是没有问题的.
请给出编译环境,工程类型,文件类型,编译工程提供的错误信息.

-----------------------------------
是无法识别UWORD还是UBYTE,再确定下吧.

typedef struct {
union {
UWORD w;
UBYTE b[2];
} int_req;
}XXXX;

哎 我也忘的差不多了 期待楼下有好解答 我C也没安装了 你可以尝试改变一些东西

例如 结构体 加";"号 以及 unsigned int 改成int看看 总会发现问题的

typedef unsigned int UWORD;
应用时:typedef struct {
union {
UWORD w;
UBYTE b[2];
} int_req;
}==> ';'

别忘记最后的分号';'

两个地方漏了”;”,
union的第二个括号后要加;
struct最后那个括号后要加;
另外int_req 是什么?是不是int _req;