枚举属性
关键字 (keyword) 枚举标识枚举类型。
enum [tag ]
{
identifier [=integer-value ]
[ , ... ]
}
-
标签
-
指定枚举类型的可选标记。
-
identifier
-
指定特定的枚举。
-
integer-value
-
指定常量整数值。
枚举 类型可以在 typedef 声明、常规声明和函数声明符中显示为类型说明符, (作为 function-return-type 或参数类型说明符) 。 有关显示类型说明符的上下文,请参阅 接口定义 (IDL) 文件。
在 MIDL 编译器的默认模式下,可以将整数值分配给枚举器。 (使用 /osf switch.) 与 C 语言枚举器一样,枚举器名称必须唯一,但枚举器值不必是唯一的。
如果未提供赋值运算符,标识符将从左到右映射到从零开始的连续整数。 提供赋值运算符时,分配的值从最近分配的值开始。
最大标识符数为 65,535。
枚举类型的对象是 int 类型,其大小取决于系统。 默认情况下, 枚举 类型的对象在通过网络传输时被视为 无符号短 类型的 16 位对象。 超出范围 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;