在一个C++类Defs
我有一个公共枚举类似enum services {1st_drink = 101, 2nd_drink = 105, seafood_outside = 200,......}
。我有大约200个关键字,每个关键字都有一个值。现在在另一个类sometest
我需要获得特定的关键字值。关键字就像我的代码中的一个变量,我只能在处理完一些关键字后才能知道。因此,我想要做的是这样的:C++:通过关键字获得枚举值,关键字是一个变量
.......
std::string keyword = string1 + "_" + string2;
unsigned int a = Defs::keyword;
.......
但现在,当我尝试这样做,我得到错误"error C2039: 'keyword': is not a member of 'Defs'"
和"error C2440: '=': cannot convert from 'std::string' to 'const unsigned int '"
。
现在我试着解决这个问题。我注意到有人在Get enum value by name之前问过类似的问题,但由于关键字太多,我不想使用该解决方案。任何好主意来做到这一点?
只是为了让自己明白这个问题:你想从数字中得到字符串? – Sossenbinder
您链接的接受答案的第二部分仅定义枚举值一次。因为你需要定义那个应该为你工作的枚举。 – Kevin
不,我想从其他条件和计算的字符串,我想字符串的数字 – gladys0313