如何在一对集合的向量中插入一个元素?矢量<对<整型,设置<字符串>&GT;&GT;

时间:2018-06-12 10:05:15

标签: c++ vector stl std-pair

    vector<pair<int,set<string>>>m1;

我正在尝试插入一个元素,其中每个int将使用set包含多个字符串。如何在此插入元素?

我试过这样。

    vector<pair<int,set<string>>>m1;
    int p,n,i;
    cin>>p>>n;
    string s[n];
    for(i=0;i<n;i++){
    cin>>s[i];
    m1.push_back(make_pair(p,insert(s[i])));
    }

但它显示错误。 非常感谢。谢谢!

2 个答案:

答案 0 :(得分:0)

make_pair需要使用键/值对,因此set应该已经存在。

set<string> s;

for(i=0; i<n; i++){
    {
    string str;
    cin >> str;
    s.insert(str)
    }

m1.push_back(make_pair(p, s));

答案 1 :(得分:0)

更改

m1.push_back(make_pair(p,insert(s[i])));

m1.push_back(make_pair(p, set<string>{s[i]}));

std::set必须存在insert之前的任何元素。