我現在的程序使用3個不同的枚舉:枚舉作爲參數,返回字符串
enum ThingEnum{
Thing1 = 0,
Thing2 = 1,
Thing3 = 2,
OtherThing = 3
};
enum ReturnEnum {
Success = 4,// the method did what it is supposed to
Error1 = 5,// an error occured
Error2 = 6,// an error occured
Error3 = 7,// an error occured
Error4 = 8,// a fatal error occured program must terminate
Pointer = 9// the method may need to be called again
};
enum TypeEnum {
Type1 = 10,
Type2 = 11,
Type3 = 12,
Type4 = 13,
OtherType = 14
};
我想要做的就是創建一個全局函數,它接受一個枚舉並返回一個字符串(如枚舉的值是真的只是一個總是有值的專用變量名稱)。 是否可以創建一個採用泛型枚舉的函數?例如
string enumToString (enum _enum){}
還是我必須爲每個不同的枚舉做一個函數?只是一個可能的想法,我做了一些閱讀,並且一些編譯器允許Enum解析爲int,所以我可以將enum作爲int來傳遞,然後使用它?
所以,你想要做的是一個枚舉值轉換爲字符串?也許你應該修改問題標題...... – tenfour 2012-02-02 11:41:57
'因爲enum的值實際上只是一個總是具有值的專用變量名'whut – 2012-02-02 11:52:02
@Lightness當編譯器讀取枚舉Ex {this,thisTo};它會爲它們生成值(除非它們被設置爲具體值),但要訪問它們,您需要使用表示該值的名稱,就像使用解析運算符來獲取類中的精確方法。因爲有關枚舉的文獻將陳述「一個枚舉將解析爲一個特定的值(一個int地址),但即使該值已知反向轉換也不會解決」 – gardian06 2012-02-02 12:18:33