Ris*_*abh 2 c++ multiset std-pair
我想在多集中插入一个整数值和一对.
所以我宣布它为:
multiset < int, pair < int, int> > mp;
int m,n,p;
Run Code Online (Sandbox Code Playgroud)
要在multiset中插入,我试过这个:
mp.insert(make_pair(m, make_pair(n,p))); // Compile time error
Run Code Online (Sandbox Code Playgroud)
但它给出编译时错误......有人可以建议正确的方法来实现它.
该类型multiset<int,pair<int,int>>
正在尝试创建一个多重集,其中Key int
和Compare是pair<int,int>
.这是荒谬的.你要么想用
multiset<pair<int,pair<int,int>>>
Run Code Online (Sandbox Code Playgroud)
或者你想使用
multiset<tuple<int,int,int>>
Run Code Online (Sandbox Code Playgroud)
前一个type(pair<int,pair<int,int>>
)匹配您用于插入set(make_pair(m, make_pair(n,p))
)的表达式.如果你使用后者,你会想要make_tuple(m,n,p)
.