簡體   English   中英

用C ++ wstring枚舉

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM