Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Перечисление ключевое слово определяет перечислимый тип.
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;
См. также раздел