gpt4 book ai didi

c++ - 面向 C/C++ 开发人员的 Eclipse IDE : "invalid arguments" error displayed by mistake?

转载 作者:行者123 更新时间:2023-11-30 01:36:23 26 4
gpt4 key购买 nike

我在 Eclipse IDE for C/C++ Developers Photon (4.8.0) 中收到无效参数错误,地址为 map_name.insert(make_pair("string_name", int_name); .

我正在使用 GCC 8.2.0。我正在尝试使用 STL 做一些简单的事情。

两者都试过 insert(make_pair())insert(pair<string, int>())得到相同的 IDE 错误(语义错误)。这是为什么?

代码:

#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);
}

这是在 IDE 中显示的错误:

Error

最佳答案

GCC 8 附带的标准库实现使用称为 __is_constructible 的类型特性内在特性,Eclipse CDT 的解析器尚不支持。

当使用 CDT 来解析 GCC 8 的标准库代码时,这可能会导致误报。

如果您使用 GCC 7 或更早版本,您不会收到此代码的任何错误。

更新:This eclipse bug跟踪向 CDT 的解析器添加对 __is_constructible 的支持。它最近已得到修复,尽管该修复尚未出现在 CDT 版本中。

关于c++ - 面向 C/C++ 开发人员的 Eclipse IDE : "invalid arguments" error displayed by mistake?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52239807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com