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?