我想在多重集中插入一个整数值和一对。
所以我将其声明为:
multiset < int, pair < int, int> > mp;
int m,n,p;
要插入 multiset 我试过这个:
mp.insert(make_pair(m, make_pair(n,p))); // Compile time error
但它给出了编译时错误......有人可以建议正确的方法来实现它。
该类型multiset<int,pair<int,int>>
正在尝试创建一个多重集,其中 Key 是int
并且 Compare 是pair<int,int>
。这是荒谬的。您要么想使用
multiset<pair<int,pair<int,int>>>
或者你想使用
multiset<tuple<int,int,int>>
前一种类型 ( pair<int,pair<int,int>>
) 匹配您用来插入集合 ( make_pair(m, make_pair(n,p))
) 的表达式。如果你使用后者,你会想要make_tuple(m,n,p)
.