我有点惊讶以下代码无法编译。你能解释一下吗? (头文件)
enum CarType_e {
CAR_BMW = 0,
CAR_KIA,
CAR_HONDA,
CAR_FORD,
CAR_MERCEDES
};
int build_car(CarType_e type);
然后我得到以下错误:
In file included from car.c:19:0:
car.h:35:16: error: unknown type name ‘CarType_e’
这是 gcc 版本 4.7.3
最佳答案
你有两个选择,使用
typedef enum {
CAR_BMW = 0,
CAR_KIA,
CAR_HONDA,
CAR_FORD,
CAR_MERCEDES
} CarType_e;
或者,您可以使用 -
int build_car(enum CarType_e type);
我在 linux 上用 gcc 测试了这两个。
关于c - 在 C 中定义枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22665884/