簡體   English   中英

我可以在std :: multimap中使用std :: pair作為鍵嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM