Поделиться через


атрибут enum

Перечисление ключевое слово определяет перечислимый тип.

enum [tag ] 
{ 
    identifier [=integer-value ] 
    [ , ... ] 
}

Параметры

Тег

Указывает необязательный тег для перечисленного типа.

identifier

Указывает конкретное перечисление.

целое число-значение

Задает константное целочисленное значение.

Комментарии

Типы enum могут отображаться в качестве описателей типов в объявлениях typedef, общих объявлениях и деклараторах функций (в качестве функции return-type или в качестве описателя типа параметра). Контекст, в котором отображаются описатели типов, см. в разделе Файл определения интерфейса (IDL).

В режиме по умолчанию компилятора MIDL можно назначить перечислителям целочисленные значения. (Эта функция недоступна при компиляции с параметром /osf .) Как и в случае с перечислителями языка C, имена перечислителей должны быть уникальными, но значения перечислителя не обязательно должны быть.

Если операторы присваивания не указаны, идентификаторы сопоставляются с последовательными целыми числами слева направо, начиная с нуля. При указании операторов присваивания назначенные значения начинаются с последнего назначенного значения.

Максимальное число идентификаторов — 65 535.

Объекты типа enum являются типами int , а их размер зависит от системы. По умолчанию объекты типа перечисления обрабатываются как 16-разрядные объекты типа unsignedshort при передаче по сети. Значения за пределами диапазона от 0 до 32 767 вызывают исключение во время выполнения RPC_X_ENUM_VALUE_OUT_OF_RANGE. Чтобы передать объекты в виде 32-разрядных сущностей, примените атрибут [v1_enum] к значению typedef перечисления .

Примеры

typedef enum {Monday=2, Tuesday, Wednesday, Thursday, Friday} workdays; 
 
typedef enum {Clemens=21, Palmer=22, Ryan=34} pitchers;

См. также раздел

Файл определения интерфейса (IDL)

INT

short

Typedef

Без знака

v1_enum