當前位置:成語大全網 - 書法字典 - 枚舉的分配和使用

枚舉的分配和使用

枚舉類型在使用中有以下規定:

1.枚舉值是常數,不是變量。妳不能在程序中用賦值語句給它賦值。

2.枚舉元素本身由系統用表示序列號的數值來定義,序列號定義為0,1,2…從0開始。例如,在weekday中,sun值為0,mon值為1,sat值為6。

只有枚舉值可以賦給枚舉變量,元素的數值不能直接賦給枚舉變量。如果必須將數值賦給枚舉變量,則必須使用cast。

如:a =(enum?工作日)2;特別註意:在VS2010這樣的編譯器中,強制轉換格式應該是:(weekday)2。如果在它之前添加enum,則在編譯過程中會出現“類型重定義”錯誤。

其意義在於將序號為2的枚舉元素賦予枚舉變量A,相當於:a = tue還應註意,枚舉元素不是字符常量或字符串常量,因此在使用它們時不要添加單引號或雙引號。輸出結果:1?周壹嗎?2?星期二嗎?3?溫斯戴。4?周四嗎?5?星期五6號?周六嗎?7?周日嗎?8?周壹嗎?9?星期二嗎?10?wendsday11?周四嗎?12?星期五嗎?13?周六嗎?14?周日嗎?15?周壹16?星期二嗎?17?溫斯戴。18?周四嗎?19?星期五嗎?20?星期六21?周日嗎?22?周壹嗎?23?星期二嗎?24?溫斯戴。25?周四26號?星期五嗎?27?周六嗎?28?周日嗎?29?周壹嗎?30?星期二3。如果枚舉值與某些關鍵字沖突,例如:enum?課程{開始,然後,結束};因為程序可能使用iostream和命名空間std,所以如果直接使用end進行賦值,可能會出現“二義性”符號錯誤。有兩種方法可以解決這個問題:

(1)定義枚舉值時應避免使用常用關鍵字,可以通過添加前綴來區分它們。

比如:enum?course{e_begin、e_then、e _ end };(2)枚舉類型:可以在枚舉值前添加course::end。