- Перечисление представляет собой "именованный набор констант":
enum MyType_e {A, B, C};
- Эти константы объявляются в родительской области перечисления, т.е. если перечисление объявлено в области файла и не указано, оно эквивалентно серии инструкций
#define A 0
- Основной тип констант перечисления всегда
int
i.e.int var = A
является полностью законным, хотяvar
не относится к типуMyType_e
Итак, какова цель, которую служит enum name?
ИЗМЕНИТЬ Согласно приведенным ниже комментариям, мое понимание перечислений, по-видимому, весьма ошибочно. Перечисление не имеет ничего общего с операторами #define. Перечисления разрешены во время компиляции и набираются.