本帖最后由 hyelectron 于 2014-4-23 13:57 编辑
问题:如下,为何LPC17XX.h中的定义没问题,而自己照着定义确要添加名字才可以编译通过,请问是什么问题?
1. LPC17XX.h中如下定义
typedef struct
{
union {
__IO uint32_t FIODIR;
struct {
__IO uint16_t FIODIRL;
__IO uint16_t FIODIRH;
};
struct {
__IO uint8_t FIODIR0;
__IO uint8_t FIODIR1;
__IO uint8_t FIODIR2;
__IO uint8_t FIODIR3;
};
};
//。。。。。。。
}LPC_GPIO_TypeDef;
2.个人的定义 ----编译有问题
typedef struct
{
union
{
int u_wnk;
struct {
short int m_cos;
short int m_sin;
};
};
}FFTWNK_TypeDef;
编译出现的问题:
warning: #40-D: expected an identifier
warning: #40-D: expected an identifier
error:#618: struct or union declares no named members
3.如下改正编译才通过
typedef struct
{
union
{
int u_wnk;
struct {
short int m_cos;
short int m_sin;
}meb; //添加结构体名
}uni; //添加共用体名
}FFTWNK_TypeDef; |