[英]C++ wstring to enum
我已經定義了一個這樣的枚舉:
enum eFeature
{
eF_NONE=0,
eF_PORT_A=1,
eF_PORT_B=2,
eF_PORT_C=3,
};
我現在想將wstring(“ 0”,“ 1”,“ 2”或“ 3”)轉換為eFeature。
我試過了
eFeature iThis;
iThis = _wtoi(mystring.c_str());
但是編譯器告訴我“不能將類型為'int'的值分配給類型為eFeature的實體。”
有人可以幫忙嗎? 謝謝。
您試圖將int
分配給enum
,這是不允許的。 撇開wstring
注意力,您在做什么等同於
eFeature iThis;
iThis = 42;
您首先需要將int
轉換為enum
類型:
eFeature iThis;
iThis = static_cast<eFeature>(42);
顯然,您首先需要執行某種范圍檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.