我在一些庫中發現了表達式枚舉類型名稱(積分值),但它對我來說看起來有點奇怪,它真的是什麼樣子(至少對我來說)?枚舉類型可以被稱爲函數,或者它只是另一種鑄造枚舉類型?或者是什麼? 例如:C++枚舉類型可以作爲函數調用,還是隻是一種不同的類型轉換?
enum SomeEnum
{
SOMETHING = 0,
OTHERTHING = 1
};
void someFunction(SomeEnum e)
{
// ...
}
someFunction(2); // Invalid conversion
someFunction((SomeEnum)2); // Works, Normal casting
someFunction(SomeEnum(2)); // Works!! calling the enum as a function?? or just another style of enum casting??
非常感謝,你的回答真的很有幫助,特別是「臨時對象」的事情,實際上它觸發我搜索枚舉默認構造函數,並且我發現這個[link](http://lifecs.likai.org/2010 /07/c-enum-default-constructor.html)。 – babdrabbo 2013-04-23 23:08:35
很高興我能幫忙! C++有一些很酷的功能,旨在讓我們的生活更輕鬆。 – 2013-04-23 23:10:51