【发布时间】:2013-11-22 15:14:18
【问题描述】:
我尝试用 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;
但它没有为其分配任何值(调试器中 anItem 的 Watch 显示:<undefined value>,在处理完该行之后。当我将 anItem 声明为 int 时,它按我的预期分配值 0。我认为虽然将 anItem 声明为 FUNCTIONITEM 应该没问题,所以我很惊讶。有什么想法吗?
【问题讨论】:
-
那么,问题是什么?
-
你希望它做什么?当条件为真时,
anItem应该等于VARIABLE -
如果您在此处复制并粘贴此代码,那么您在 else 中拼错了变量。
-
请展示一个完整的程序。一个SSCCE。也许编译器会删除该变量,因为您从未在其他地方引用它。但我们不知道你真正的程序是什么样的。 SSCCE 请。
-
@user David 没有请求“程序”。他要求提供SSCCE,这是一个暴露您遇到的问题的最小 测试用例。获得帮助需要付出努力。
标签: c++ enums namespaces c++-cli visual-studio-2013