C++ 将值插入具有对的映射-错误:在‘;之前应为主表达式’;代币
我对maps(以及一般的c编程)有点陌生,我正在尝试向map中插入一些值,该map将C++ 将值插入具有对的映射-错误:在‘;之前应为主表达式’;代币,c++,dictionary,c++98,C++,Dictionary,C++98,我对maps(以及一般的c编程)有点陌生,我正在尝试向map中插入一些值,该map将字符串作为键,将成对的作为对应的值 当我尝试编译代码时,会出现以下错误: error: expected primary-expression before ‘,’ token values.insert(make_pair(string, pair<double,double>("test", 0.123456,0.98765 ) ) );
字符串
作为键,将成对的
作为对应的值
当我尝试编译代码时,会出现以下错误:
error: expected primary-expression before ‘,’ token
values.insert(make_pair(string, pair<double,double>("test", 0.123456,0.98765 ) ) );
^
错误:应在“,”标记之前使用主表达式
插入(组成对(字符串,对(“测试”),0.123456,0.98765));
^
std::映射值;
插入(组成对(字符串,对(“测试”),0.123456,0.98765));
我是否需要使用迭代器类型来执行此操作?否则,我有一种感觉,那就是我是如何构建的:“test”,0.123456,0.98765
解决方案:
values.insert(make_-pair(“test”),make_-pair(0.12312312312,0.56756756));
这不是C。请更改标记,或使用正确的编译器。首先制作string-->double
的映射,一旦您了解了如何正确操作,请了解如何单独创建一对,最后了解如何将它们一起使用。您可以很容易地注意到,您使用了(而不是make_-pair
)。此外,您尝试在最里面的括号中传递3个参数,而make_-pair
和pair
构造函数都有2个参数。