4

マルチセットに整数値とペアを挿入したい。

だから私はそれを次のように宣言しました:

multiset < int, pair < int, int> > mp;
int m,n,p;

マルチセットに挿入するには、これを試しました:

mp.insert(make_pair(m, make_pair(n,p))); // Compile time error

しかし、コンパイル時にエラーが発生します...誰かがそれを実装する正しい方法を提案してください。

4

1 に答える 1

7

タイプ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)ます。

于 2012-10-04T19:30:03.530 に答える