C++ 中的枚举类无法在 Mac 中编译,但可以在 Windows 中编译

问题描述 投票:0回答:3

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

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

它可以在 VS2013 中编译并运行,但在我的 Mac 中编译失败(预期标识符或“{”)。难道是我的g++的问题?如何升级?

c++ enums g++ enum-class
3个回答
2
投票
如果您的编译器支持

enum class

 
C++11
Strongly-typed enums
将会编译。
开始发售
GCC 4.4

http://gcc.gnu.org/projects/cxx0x.html


0
投票

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


0
投票

您应该对苹果使用 clang。我猜 gcc 4.2 不支持它们。如果您想在苹果环境中使用更新的 gcc,请查看这个问题及其答案

© www.soinside.com 2019 - 2024. All rights reserved.