1
マルチマップでキーとして2つの整数を使いたいです。だから私は、構造のようなstd :: multimapでstd :: pairをキーとして使用できますか?
std::multimap<std::pair<int, int>, MyClass> M;
M.insert(std::pair<int,int>(X1,Y1), MyClassObject);
C++で可能ですか?コンパイルするとき、私は、次のエラーメッセージが表示されます。
C:\1\1-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK_________\..\main.cpp:199:
error: no matching function for
call to 'std::multimap<std::pair<int, int>, MyClass, std::less<std::pair<int, int> >,
std::allocator<std::pair<const std::pair<int, int>, MyClass> > >::insert(std::pair<int, int>,
MyClass)'
を必要とするので、あなたはあなたのstd ::ペアタイプのためのコンパレータを実装する必要があると思います。 – Nick
@ニック:どうしてですか?デフォルトのものは大抵の場合は大丈夫ですか、彼の場合もそうでしょうか? – PlasmaHH
@Nick 'std :: pair'はすでに比較可能です – Potatoswatter