[英]Can I use std::pair as a key in std::multimap?
我想在multimap中使用2個整數作為鍵。 所以我想知道是一個像這樣的結構
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)'
insert需要一對鍵,值,所以你需要
M.insert(std::make_pair(std::make_pair(X1,Y1),MyClassObject));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.