创建两个具有相同 0 值的枚举

Create two enum with identical 0 values

我想创建两个具有相同 0(默认值)的枚举,如下所示:

enum testone_e    {
    NOCHANGE = 0,
    DOONETHING,
    BLABLA
};

enum testtwo_e    {
    NOCHANGE = 0,
    DOANOTHERTJHING,
} ;

但是编译器抱怨: "NOCHANGE" 已在当前范围内声明

为什么,这不是两个不同的范围(因为值在不同的枚举中)..?我该如何最好地解决这个问题? 这是使用 WindRiver 的 diab 编译器

在C语言中,所有枚举常量在全局范围内都是int。 (更准确地说,在 enum 本身的范围内,通常是文件范围。)

所以每个名字只能定义一次。