错误信息:
error: #40: expected an identifier
原因1:
是命名重叠了, 比如在
stm32f10x.h中有如下定义
typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
而在另外一个地方又有如下定义
#ifndef ERROR
#define ERROR 0
#endif
将第二个地方的定义取消, 包含第一个定义的头文件就行了
原因2:
可能是头文件顺序不对。
我的程序在编译的时候也发现这样的错误,在把stm32f10x.h置顶后编译通过(之前这个头文件放在第二位)。