在Visual Studio C ++中使用ENUM

时间:2013-11-22 15:14:18

标签: c++ enums namespaces c++-cli visual-studio-2013

我曾尝试用C ++编写一些简单的代码,但是当我调试它时,某些枚举类型的声明变量没有得到赋值。我引用的代码如下:

namespace GEORGE { 
    //...
    public enum FUNCTIONITEM { VARIABLE, FUNCTION, NUMBER };
    //...
}

然后,在另一个文件中,我有以下内容:

//... 
using namespace GEORGE;

private System::Void AFunction(...)
{
    //...
    FUNCTIONITEM anItem;
    //...
    if (condition)
       anItem = VARIABLE;
    else
       amitem = NUMBER;
    //...
}

当我调试上面的内容时,当条件为真时,它会处理第一个anItem = VARIABLE;

但它没有为它赋值(调试器中的Watch of anItem说:<undefined value>,在处理完行之后。当我将anItem声明为int时,它会赋值0,因为我虽然我认为将一个项目称为FUNCTIONITEM应该没问题,所以我很惊讶。有什么想法吗?

1 个答案:

答案 0 :(得分:-2)

而不是

if (condition)
   anItem = VARIABLE;
else
   amitem = NUMBER;

使用

if (condition)
   anItem = FUNCTIONITEM::VARIABLE;
else
   amitem = FUNCTIONITEM::NUMBER;