1
我想用2个整数作为multimap中的一个键。所以我想在C++中像我可以使用std :: pair作为std :: multimap中的键吗?
std::multimap<std::pair<int, int>, MyClass> M;
M.insert(std::pair<int,int>(X1,Y1), MyClassObject);
可能的结构?编译时我收到以下错误信息:
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 2012-04-23 09:27:03
@尼克:为什么?大多数情况下,默认的一个是可以的,也许在他的情况下呢? – PlasmaHH 2012-04-23 09:29:53
@Nick'std :: pair'已经可比 – Potatoswatter 2012-04-23 09:29:56