MinGW的C ++ 11function

我尝试为unordered_map使用emplace()函数,编译器说没有这样的函数存在。

我把-std=c+11 ,它说cc1plus.exe: error: unrecognized command line option '-std=c+11'

我能以某种方式使用mingw的C ++ 11function吗?

Solutions Collecting From Web of "MinGW的C ++ 11function"

从GCC文档

C ++ 0x是新的ISO C ++标准的工作名称,该标准于2011年作为C ++ 11发布,并在标准C ++语言和库中引入了大量新功能。 这个项目试图在GCC中实现新的C ++ 11功能,并使其成为第一个将C ++ 11引入到C ++程序员的编译器之一。

C ++ 11特性可作为GCC Subversion版本库的主干中的“主线”GCC编译器的一部分以及GCC 4.3和更高版本中的一部分。 要启用C ++ 0x支持,请将命令行参数-std = c ++ 0x添加到您的g ++命令行中。 或者,要启用除C ++ 0x扩展外的GNU扩展,请在您的g ++命令行中添加-std = gnu ++ 0x。 GCC 4.7和更高版本支持-std = c ++ 11和-std = gnu ++ 11。

因此,对于gcc 4.3到4.6,使用-std = c ++ 0x,对于以后的版本使用-std = c ++ 11。 在gcc 4.8中添加了对map::emplace库支持