マップにアイテムを挿入しようとしていますが、これには2つのマップがあります。2つ以上のマップを保持するマップにアイテムを挿入
map< map<int, int> , map<int, int> > GC;
map<int, int> A;
A.insert(pair<int,int>(1,1));
map<int, int>:: iterator p1 = A.begin();
map<int, int> B;
B.insert(pair<int,int>(2,3));
map<int, int>:: iterator p2 = B.begin();
GC.insert(pair< map<int,int>, map<int,int> > (*p1, *p2));
まあ、それは動作しないと推定されます。
どうすればよいですか?
EDIT:
それは次のエラーを与える:
E:\CB\test.cpp|20|error: no matching function for call to
'std::pair<std::map<int, int, std::less<int>, std::allocator<std::pair<const int, int> > >, std::map<int, int, std::less<int>, std::allocator<std::pair<const int, int> > > >::pair(std::pair<const int, int>&, std::pair<const int, int>&)'
マップはキーと値で動作します。マップをキーとして使うつもりですか?それは私には奇妙に思えるかもしれませんが、おそらくあなたはそうしたいと考えている正当な理由があります。どのような問題を解決しようとしているのか説明すれば、より良いデータ構造を設計するのに役立つかもしれません。 – Nathanael
これは邪悪な疑似コードです。 IIRCには演算子<またはstd :: less>がありません。したがって、注文したコンテナで幸運なことをすることはありません。 –
sehe
私は自分でグラフクラスを作成しようとしています。私が作りたい構造は