Создать два перечисления с одинаковыми значениями 0 - PullRequest
1 голос
/ 15 мая 2019

Я хочу создать два перечисления с одинаковыми 0 (значения по умолчанию), которые выглядят так:

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

enum testtwo_e    {
    NOCHANGE = 0,
    DOANOTHERTJHING,
} ;

но компилятор жалуется на: «NOCHANGE» уже объявлено в текущей области действия

почему, разве это не две разные области (поскольку значения в разных перечислениях) ..? Как мне решить это лучше всего? Это с diab компилятором WindRiver

1 Ответ

3 голосов
/ 15 мая 2019

В C все константы перечисления равны int s в глобальной области видимости.(Точнее, в области самого enum, которая обычно является областью действия файла.)

Таким образом, вы можете определить каждое имя только один раз.

...