我现在的程序使用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