マルチセットに整数値とペアを挿入したい。
だから私はそれを次のように宣言しました:
multiset < int, pair < int, int> > mp;
int m,n,p;
マルチセットに挿入するには、これを試しました:
mp.insert(make_pair(m, make_pair(n,p))); // Compile time error
しかし、コンパイル時にエラーが発生します...誰かがそれを実装する正しい方法を提案してください。
タイプmultiset<int,pair<int,int>>
は、キーがint
で比較がであるマルチセットを作成しようとしています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)
ます。