警告解释:枚举类型混合了其它的数据类型;
解决方法:
1:检查代码,是不是存在混用;;
2:结构体初始化为 0 报warning,不能将结构体的第一个变量,使用枚举类型;
代码参考示例
// 枚举类型定义
enum TestCheckNumTag
{
kTest0 = 0,
kTest1 = 1,
};
typedef enum TestCheckNumTag TestCheckNum;
// 结构体类型定义
struct TestCheckStructTag
{
TestCheckNum status; // 第一个数据类型是枚举,会warning
char num;
};
typedef struct TestCheckStructTag TestCheckStruct;
char TestFunction1()
{
TestCheckStruct check_num = {0};
check_num.num = 9;
return check_num.num;
}
keil编译报 warning
gpio_check.c(42): warning: #188-D: enumerated type mixed with another type
TestCheckStruct check_num = {0};
将结构体变量先后顺序进行调整
typedef struct TestCheckStructTag TestCheckStruct;
struct TestCheckStructTag
{
char num;
TestCheckNum status;
};
此时keil再次编译,没有 warning