警告解释:枚举类型混合了其它的数据类型;
解决方法:
1:检查代码,是不是存在混用;;
2:结构体初始化为 0 报warning,不能将结构体的第一个变量,使用枚举类型;
代码参考示例
// 枚举类型定义
enum TestCheckNumTag
{kTest0 = 0,kTest1 = 1,
};
typedef enum TestCheckNumTag TestCheckNum;// 结构体类型定义
struct TestCheckStructTag
{TestCheckNum status; // 第一个数据类型是枚举,会warningchar 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 typeTestCheckStruct check_num = {0};
将结构体变量先后顺序进行调整
typedef struct TestCheckStructTag TestCheckStruct;
struct TestCheckStructTag
{char num;TestCheckNum status;
};
此时keil再次编译,没有 warning