我有一个 enum
和一个 struct
定义如下:
typedef enum
{
MONDAY = 1,
TUESDAY,
WEDNESDAY
} ThreeDays;
typedef struct
{
int hello;
ThreeDays day;
} Weekday;
static Weekday weekday = { 1, 2};
然后我在 lint 中得到以下错误:
Error 64: Type mismatch (initialization) (int/enum)
这个错误的原因是什么?我该如何纠正它?
最佳答案
将您的枚举用于其构建目的:
static Weekday weekday = {1,TUESDAY};
Lint 提示是因为您有一个枚举,但既没有传递枚举中的符号,也没有传递兼容类型的转换(例如 (ThreeDays)2
)。
逐字使用枚举符号以避免来自 Lint 的警告。
关于c - 如何在 C 中为枚举赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13510000/