Inserting values into map with pair - error: expected primary-expression before ‘,’ token
Inserting values into map with pair - error: expected primary-expression before ‘,’ token
我对地图(和一般的 c 编程)有点陌生,我正在尝试将一些值插入以 string
作为键和成对的 <double,double>
的地图中作为相应的值。
当我尝试编译代码时,出现错误:
error: expected primary-expression before ‘,’ token
values.insert(make_pair(string, pair<double,double>("test", 0.123456,0.98765 ) ) );
^
std::map<std::string, std::pair<double, double> > values;
values.insert(make_pair(string, pair<double,double>("test", 0.123456,0.98765 ) ) );
我是否需要使用迭代器类型才能执行此操作?否则我有一种感觉,这就是我的结构:"test", 0.123456,0.98765
.
解决方案:
values.insert(make_pair("test",make_pair(0.12312312, 0.56756756)));
cout << values.size() << endl;
for(map<string, pair<double,double> >::const_iterator it = radar_values.begin(); it != values.end(); it++)
{
cout << it->first << endl;
cout << it->second.first << endl;
cout << it->second.second << endl;
}
参考:How can I print out C++ map values?
我对地图(和一般的 c 编程)有点陌生,我正在尝试将一些值插入以 string
作为键和成对的 <double,double>
的地图中作为相应的值。
当我尝试编译代码时,出现错误:
error: expected primary-expression before ‘,’ token
values.insert(make_pair(string, pair<double,double>("test", 0.123456,0.98765 ) ) );
^
std::map<std::string, std::pair<double, double> > values;
values.insert(make_pair(string, pair<double,double>("test", 0.123456,0.98765 ) ) );
我是否需要使用迭代器类型才能执行此操作?否则我有一种感觉,这就是我的结构:"test", 0.123456,0.98765
.
解决方案:
values.insert(make_pair("test",make_pair(0.12312312, 0.56756756)));
cout << values.size() << endl;
for(map<string, pair<double,double> >::const_iterator it = radar_values.begin(); it != values.end(); it++)
{
cout << it->first << endl;
cout << it->second.first << endl;
cout << it->second.second << endl;
}
参考:How can I print out C++ map values?