如何在Visual Studio 2012中使用枚举

时间:2014-08-21 08:08:48

标签: c visual-studio-2012 enums

我正在使用Visual Studio 2012学习C语言并使用旧书(使用turbo C的书)。

以下代码无法使用以下错误消息。

void main()
{
    enum AA {QQ, WW, EE, RR, TT};
    enum BB a, b, c, d, e;
    a = QQ;
    b = WW;
    c = EE;
    d = EE;
    e = TT;
    printf("%d %d %d %d %d\n", a, b, c, d, e);
    a = RR + TT;
    printf("%d", a);
}

结果:   0 1 2 3 4   7

错误C2440:'=':无法从'int'转换为'main :: BB' 1 GT;转换为枚举类型需要显式转换(static_cast,C样式转换或函数样式转换

当鼠标悬停在等于(=)时,我可以看到'类型为“int”的值不能分配给“QQ”或“WW”等类型的实体。

我如何得到结果?

1 个答案:

答案 0 :(得分:1)

在main中,在第一行,您声明一个枚举类型并将其命名为AA。在第二行,您尝试声明5个类型为enum BB的变量,这些变量尚未定义。

这不起作用。如果您声明的变量属于类型enum AA,即您刚刚声明的变量,则代码可能有意义。

将这些B更改为A,您就可以了。

此外,在Visual Studio中将代码编译为C代码而不是C ++代码,只需将源文件名从 blabla.cpp 更改为 blabla.c