在一個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