【发布时间】:2012-11-10 16:36:48
【问题描述】:
我有一个 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, MONDAY};吗? -
我在 c 中得到了这个警告,而不是在 c++ 中,这不是错误。
-
@ratzip 那你的C编译器不对,你用的是哪个编译器?
-
不是编译器,是
lint。 -
你知道你为什么定义
enum吗?