我正在尝试在map中插入一个值,其中map的键是string,value是list。 当我尝试插入时,我收到错误。
#include <iostream>
#include <utility>
#include <vector>
#include <map>
#include <string>
using namespace std;
main()
{
string key = "myKey";
string str1 = "str1";
map<string, list<string>> myMap;
myMap.insert( make_pair (key, str1));
}
错误
错误2错误C2664:'std :: pair&lt; _Ty1,_Ty2&gt; std :: _ Tree&lt; _Traits&gt; :: insert(std :: pair&amp;&amp;)': 无法从'std :: pair&lt; _Ty1,_Ty2&gt;'转换参数1到'std :: pair&lt; _Ty1,_Ty2&gt; &安培;&安培;”
帮助表示赞赏!!
答案 0 :(得分:3)
你有一个std::map
,它接受一个字符串,一个列表作为值。
您正在尝试向其传递一个字符串和字符串作为值的问题。
main()
{
string key = "myKey";
string str1 = "str1";
list<string> l;
l.push_back( str1 );
map<string, list<string>> myMap;
myMap.insert( make_pair (key, l)); // pass a list here
return 0;
}