Mac の g++ 4.2 コンパイラに問題があるようです。次のように列挙型クラスを定義しました。
enum class Suit {CLUBS,SPADES,HEARTS,DIAMONDS};
VS2013 でコンパイルして実行できますが、Mac でコンパイルできませんでした (予期される識別子または '{')。それは私のg ++の問題ですか?アップグレードする方法は?
Mac の g++ 4.2 コンパイラに問題があるようです。次のように列挙型クラスを定義しました。
enum class Suit {CLUBS,SPADES,HEARTS,DIAMONDS};
VS2013 でコンパイルして実行できますが、Mac でコンパイルできませんでした (予期される識別子または '{')。それは私のg ++の問題ですか?アップグレードする方法は?
enum class
コンパイラが をサポートしている場合、コンパイルされますC++11
Strongly-typed enums
。http://gcc.gnu.org/projects/cxx0x.html
から利用できます。GCC 4.4
アップルにはclangを使用する必要があります。gcc 4.2 はそれらをサポートしていないと思います。Apple 環境で最新の gcc を使用する場合は、この質問とその回答をご覧ください。
http://gcc.gnu.org/projects/cxx0x.htmlでは、c++11 言語機能と、それらがサポートされた時期について説明しています。GCC 4.4 では、厳密に型指定された列挙型のサポートが追加されました。Apple は少し前に Xcode を clang に切り替えた、または少なくともオプションとして含めたと思いましたか?