我有一个enum和这样的struct定义:
typedef enum
{
MONDAY = 1,
TUESDAY,
WEDNESDAY
} ThreeDays;
typedef struct
{
int hello;
ThreeDays day;
} Weekday;
static Weekday weekday = { 1, 2};
Run Code Online (Sandbox Code Playgroud)
然后我在lint中得到以下错误:
Error 64: Type mismatch (initialization) (int/enum)
Run Code Online (Sandbox Code Playgroud)
这个错误的原因是什么?我该如何纠正?
使用你的枚举为它构建的内容:
static Weekday weekday = {1,TUESDAY};
Run Code Online (Sandbox Code Playgroud)
Lint抱怨是因为你有一个枚举,但既没有传递枚举中的符号,也没有兼容类型的强制转换(例如(ThreeDays)2).
逐字使用枚举符号以避免来自Lint的此警告.
| 归档时间: |
|
| 查看次数: |
9741 次 |
| 最近记录: |