c ++中的枚举类无法在Mac中编译,而适用于Windows

时间:2013-10-31 04:50:06

标签: c++ compiler-construction enums g++ enum-class

我的Mac中的g ++ 4.2编译器似乎存在一些问题。我定义了一个枚举类如下。

enum class Suit {CLUBS,SPADES,HEARTS,DIAMONDS};

它可以在VS2013中编译和运行,但无法在我的Mac中编译(预期标识符或“{”)。这是我的g ++的问题吗?如何升级?

3 个答案:

答案 0 :(得分:2)

如果您的编译器支持enum class C++11

Strongly-typed enums将编译 它从GCC 4.4开始提供 http://gcc.gnu.org/projects/cxx0x.html

答案 1 :(得分:0)

http://gcc.gnu.org/projects/cxx0x.html涵盖了c ++ 11语言功能及其支持时间。 GCC 4.4添加了强类型枚举支持。我以为苹果刚刚将Xcode转换为clang,或者至少将它作为一个选项包括在内?

答案 2 :(得分:0)

你应该使用clang for apple。我想,gcc 4.2不支持它们。如果您想在苹果环境中使用更新的gcc,请查看this question with its answer