我已经安装了最新的MinGW(8.1.0),并已通过Eclipse Neon和Photon进行了测试
#include <iostream>
#include <unordered_map>
int main(){
std::unordered_map<int,std::string> dict = {{1,"one"},{2,"two"}};
dict.insert({3,"three"});
for(const auto& p: dict){std::cout << p.first << " = " << p.second << std::endl;}
}
它可以正常编译,但是insert
方法带有红色下划线。
Eclipse给出错误:“插入”不明确
有什么方法可以更新日食索引器吗?
编辑:
将参数强制转换为const可以消除语法错误
dict.insert(std::pair<const int,std::string>{3,"three"});
编辑2:
或者您可以将MinGW(5.1.0)与C ++ 11方言一起使用
编辑3:
Eclipse Photon R
GCC 7.3.0
编辑4:
CDT 9.5.5 for Photon(19th Nov 2018)
不再支持Eclipse 4.6(Neon 2016)。 (CDT 9.2)
不再支持Eclipse 4.8(Photon 2018)。 (CDT 9.5)
从CDT 9.6开始,Eclipse 4.9(2019)呈上升趋势。
答案 0 :(得分:3)
这是一个影响Eclipse bug 540957中跟踪的GCC 8标准库标头的问题。它已针对CDT 9.6(作为Eclipse 2018-12的一部分发布)修复。
更新:CDT 9.5.5的错误也已修复,该错误计划于2018-11-19进行带外发行。如果您运行的是Eclipse Photon或更高版本,则Help -> Check for Updates
应该在更新发布后立即使用。
一种解决方法是使用GCC 7或更早版本。