【发布时间】:2021-12-16 11:33:44
【问题描述】:
enum class Anything
{
Apple,
Banna,
Cookie
}
int main()
{
enum Anything
{
Apple,
Banna,
Cookie
}
}
enum class Anything
{
Apple,
Banna,
Cookie
}
enum Anything
{
Apple,
Banna,
Cookie
}
int main()
{
}
编译器将运行顶部代码,但不会运行底部代码。我希望我可以添加颜色来告诉你哪一个可以运行。如果你在 main() 之外重新定义它,那就不行了。如果你在 main() 里面重新定义它就可以了。
有人能告诉我枚举是否应该发生这种情况吗?
“您的问题已被确定为可能与另一个问题重复。如果那里的答案不能解决您的问题,请编辑以详细解释您的问题中独特的部分。”
不,问题不在于枚举是否可以在函数中声明。
21 年 4 月 11 日:从“;”更改了不正确的语法到“,”
【问题讨论】:
-
一开始为什么要这样做?
-
第二个怎么用?
-
这能回答你的问题吗? Can we define enum inside a function?
-
@JesperJuhl 我不想。我刚刚意识到它可以完成,它可能会导致崩溃。
-
@apple apple 否。在函数中创建枚举的合法性并不能回答我的问题。我的问题是这是否可以安全使用。通常,如果您尝试定义相同的东西两次,编译器将突出显示一个错误。但是,在上面的示例中,似乎有一种解决方法。一种绕过双重定义错误的方法。
标签: c++ enums compiler-errors scope declaration