C++ 用于C/C+的eclipseide+;发展商:";无效参数";错误显示错误?
我在EclipseIDEforC/C++开发人员(4.8.0)的C++ 用于C/C+的eclipseide+;发展商:";无效参数";错误显示错误?,c++,eclipse-cdt,C++,Eclipse Cdt,我在EclipseIDEforC/C++开发人员(4.8.0)的map\u-name.insert(make\u-pair(“string\u-name”,int\u-name);上发现一个错误,即EclipseIDE中的参数无效 我正在使用GCC 8.2.0。我正在用STL尝试一些简单的东西 尝试了insert(make_pair())或insert(pair())获取相同的IDE错误(语义错误)。这是为什么 代码: #包括 #包括 使用名称空间std; int main() { 地图时代;
map\u-name.insert(make\u-pair(“string\u-name”,int\u-name);
上发现一个错误,即EclipseIDE中的参数无效
我正在使用GCC 8.2.0。我正在用STL尝试一些简单的东西
尝试了insert(make_pair())
或insert(pair())
获取相同的IDE错误(语义错误)。这是为什么
代码:
#包括
#包括
使用名称空间std;
int main()
{
地图时代;
年龄[“迈克”]=21岁;
年龄[“约翰尼”]=20岁;
年龄[“Vicky”]=30岁;
年龄[“迈克”]=42岁;
//插入(配对(“彼得”,100));
插入(成对(“Peter”,100));
for(map::iterator it=ages.begin();it!=ages.end();it++)
{
coutfirstGCC 8附带的标准库实现使用了一个名为\uuu的类型特征内在特性,它是可构造的,Eclipse CDT的解析器还不支持该特性
当CDT解析GCC8的标准库代码时,这可能会导致误报错误
如果您使用GCC7或更早版本,则此代码不会出现任何错误
更新:跟踪向CDT的解析器添加对\uu可构造的的支持。该问题最近得到了修复,尽管该修复尚未出现在CDT发行版中。GCC 8附带的标准库实现使用了名为\uu可构造的内部类型特征,Eclipse CDT的解析器就是这样做的还不支持
当CDT解析GCC8的标准库代码时,这可能会导致误报错误
如果您使用GCC7或更早版本,则此代码不会出现任何错误
更新:跟踪向CDT的解析器添加对\u可构造的的支持。它最近已被修复,尽管该修复尚未出现在CDT发行版中。在OS X命令行上编译并运行良好可能是IDE,知道如何在eclipse中修复它。您能发布完整的错误消息吗?代码编译在GCC 8.2()@HenriqueJung上很好我在原始帖子中添加了一张图片,在插入函数下面有一条弯曲的红线。我认为这只是Eclipse编辑器解析中的一个错误,很可能执行了很多试探法来响应。你试过使用命令行编译它吗?可能只是触发了一个“构建”Eclipse上的按钮将使错误消失。在OS X命令行上编译并运行良好可能是IDE,知道如何在Eclipse中修复它。您能发布完整的错误消息吗?代码在GCC 8.2()上编译良好@HenriqueJung我在原始帖子中添加了一张图片,插入函数下方有一条扭曲的红线。我认为这只是Eclipse编辑器解析中的一个错误,很可能执行了很多启发式操作来响应。您是否尝试过使用命令行编译它?也许只要在Eclipse上触发一个“构建”按钮,错误就会消失。
#include <iostream>
#include <map>
using namespace std;
int main()
{
map<string, int> ages;
ages["Mike"] = 21;
ages["Johnny"] = 20;
ages["Vicky"] = 30;
ages["Mike"] = 42;
// ages.insert(make_pair("Peter", 100));
ages.insert(pair < string, int > ("Peter", 100));
for(map<string, int>::iterator it = ages.begin(); it!=ages.end(); it++)
{
cout<< it->first<<": "<< it->second<<endl;
}
return (0);
}