Unordered_mapにemplace()
関数を使用しようとすると、そのような関数は存在しないとコンパイラーは言っています。
置いた -std=c+11
そしてcc1plus.exe: error: unrecognized command line option '-std=c+11'
C++ 11の機能をmingwでどうにかして使用できますか?
GCCドキュメント から
C++ 0xは、新しいISO C++標準の正式名称であり、2011年にC++ 11としてリリースされ、標準のC++言語とライブラリに新機能のホストを導入しています。このプロジェクトは、GCCに新しいC++ 11機能を実装し、C++ 11をC++プログラマーに提供する最初のコンパイラーの1つにすることを目指しています。
C++ 11機能は、GCCのSubversionリポジトリのトランクとGCC 4.3以降で、「メインライン」GCCコンパイラの一部として利用できます。 C++ 0xサポートを有効にするには、コマンドラインパラメーター-std = c ++ 0xをg ++コマンドラインに追加します。または、C++ 0x拡張機能に加えてGNU拡張機能を有効にするには、g ++コマンドラインに-std = gnu ++ 0xを追加します。GCC4.7以降のサポート-std = c ++ 11および-std = gnu ++ 11も同様です。
したがって、gcc 4.3〜4.6の場合は-std = c ++ 0xを使用し、それ以降のバージョンの場合は-std = c ++ 11を使用します。 map::emplace
のライブラリサポートはgcc 4.8で追加されました