enum 属性

キーワード (keyword)列挙型は、列挙型を識別します。

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

パラメーター

tag

列挙型の省略可能なタグを指定します。

identifier

特定の列挙を指定します。

integer-value

定数整数値を指定します。

解説

列挙型 は、 typedef 宣言、一般宣言、関数宣言子 (関数戻り値型またはパラメーター型指定子) で型指定子として使用できます。 型指定子が表示されるコンテキストについては、「 インターフェイス定義 (IDL) ファイル」を参照してください。

MIDL コンパイラの既定のモードでは、列挙子に整数値を割り当てることができます。 (この機能は、 /osf スイッチを使用してコンパイルする場合は使用できません)。C 言語の列挙子と同様に、列挙子名は一意である必要がありますが、列挙子の値はである必要はありません。

代入演算子が指定されていない場合、識別子は、0 から始まる左から右への連続する整数にマップされます。 代入演算子を指定すると、割り当てられた値は、最後に割り当てられた値から開始されます。

識別子の最大数は 65,535 です。

列挙型のオブジェクトは int 型であり、そのサイズはシステムに依存します。 既定では、 列挙型 のオブジェクトは、ネットワーク経由で送信されるときに 、unsignedshort 型の 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;

関連項目

インターフェイス定義 (IDL) ファイル

INT

短い

Typedef

符号 なし

v1_enum