列舉屬性
關鍵字 列舉 會識別列舉型別。
enum [tag ]
{
identifier [=integer-value ]
[ , ... ]
}
-
標記
-
指定列舉型別的選擇性標籤。
-
identifier
-
指定特定列舉。
-
integer-value
-
指定常數整數值。
列舉 類型可以在 typedef 宣告、一般宣告和函式宣告子中顯示為類型規範, (做為 function-return-type 或參數類型規範) 。 如需類型規範出現的內容,請參閱 介面定義 (IDL) File。
在 MIDL 編譯器的預設模式中,您可以將整數值指派給列舉值。 (當您使用 /osf switch.) As 與 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;