我们可以在函数中定义枚举吗?

时间:2016-04-21 10:05:40

标签: c++ enums

我们可以在函数中定义 class / struct 。我们还可以在函数中定义枚举联合吗?

void fun() {
    enum {BIG, MID, SMALL};
    // other code.
}

我可以使用gcc 4.8.2编译代码,但我不确定它是否合法。

1 个答案:

答案 0 :(得分:15)

,在函数中定义枚举是完全可以的。您的代码描绘了完全合法的匿名枚举声明。

可以在函数内声明结构和类 同样(也可能是匿名的)。 对于在其中声明的类型的唯一限制 一个函数(而不是在命名空间或类范围) 是它们不能用作模板参数。

more information on Enumeration

C ++ 11以后

自C ++ 11以来,关于模板参数的限制已经改变,有关模板参数的更多信息可以在链接Template Parameters上找到

相关问题