我想创建两个具有相同0(默认值)的枚举,如下所示:
enum testone_e {
NOCHANGE = 0,
DOONETHING,
BLABLA
};
enum testtwo_e {
NOCHANGE = 0,
DOANOTHERTJHING,
} ;
,但是编译器抱怨: “ NOCHANGE”已在当前范围内声明
为什么,这不是两个不同的范围(因为值在不同的枚举中)。我该如何最好地解决?
这是使用WindRiver的diab
编译器
答案 0 :(得分:3)
在C中,所有枚举常量在全局范围内均为int
。 (更准确地说,在enum
本身的范围内,通常是文件范围。)
因此,每个名称只能定义一次。