我尝试使用地图的C++11 emplace()函数,但是NetBeans说地图没有这样的函数。查看标题,它是“正确的”--(在Fedora 16上)没有提到emplace()。这很好,你知道的.但我有点想使用emplace()。
如何启用此功能?我知道它从去年3月就已经存在了,可能更早。彻底的搜索表明emplace()基本上只存在于我的系统中的列表和向量的头中。由于近十年来没有对C++进行重大修订,因此我没有找到任何关于如何处理这些库“错误”的文档。
发布于 2012-01-23 20:41:58
如果你的实现不支持某些东西,你有两个选择:
事实上,新标准并没有扩大选择的范围。事实上,它减少了它,因为你将有额外的困难来找到一个支持你想要的每个目标的一切的实现。
请注意,对于纯库的东西,另一种实现可能是您自己制作的:兼容性包装器在转换时间上增加了外观。但您必须注意名称冲突效果(当特性出现在其标准位置时,兼容性包装器的可见性可能会增加代码的模糊性)。
发布于 2014-09-19 18:46:23
GCC 4.7不支持这一点,因为当时该标准存在未解决的问题。它是在4.8及以上版本中实现的。您将需要-std=c++11
https://stackoverflow.com/questions/8971670
复制相似问题