【发布时间】:2013-01-16 08:09:42
【问题描述】:
我的班级中有这个枚举声明:
const enum METHODS{
Write,
Save,
Update,
Delete
};
但是当我检索我的枚举值时;对于所有方法,我都得到了这个值 -842150451。
应该是0,1,2,3吧?
请帮我解决这个问题。
我将枚举值放入map<LPCTSTR, long> m_methodMap
m_methodMap[_T("Save")] = Save;
same with other methods
我是这样检索的:
cout << "Values " << m_methodMap.find(sMethodName)->second; // where sMethodName is the methods
【问题讨论】:
-
你能显示“检索值”的代码吗?您显示的数字(很可能)是未初始化的
int。 -
我建议你总是将第一个枚举初始化为零,所以
write = 0。别人不需要你。 -
@Angew 为什么在
enum前面使用const? -
@jules 如果没有为任何枚举器指定初始化器,则第一个枚举器自动初始化为
0。 -
@user1670340 你能请发布你用来检索值的代码吗?