2013-02-22 50 views
12

基於一個previous question關鍵,我想創建一個使用一對整數作爲即map<pair<int, int>, int>一鍵地圖,我發現如何插入信息:使用對<int, int>作爲地圖

#include <iostream> 
#include <map> 

using namespace std; 

int main() 
{ 
map<pair<int, int>, int> mymap; 

mymap.insert(make_pair(make_pair(1,2), 3)); //edited 
} 

但我似乎無法訪問元素!我試過cout << mymap[(1,2)] << endl;,但它顯示一個錯誤,並且我找不到有關如何使用密鑰訪問元素的信息。難道我做錯了什麼?

+5

你的意思'COUT << MyMap中[make_pair(1,2)] << ENDL;'? – andre 2013-02-22 04:09:59

+5

'(1,2)'是非感性的,至少在這種情況下。你必須有一個'std :: pair'作爲你的密鑰,這意味着遵循@andre剛剛評論的內容。 – 2013-02-22 04:10:57

+0

是的!我是一個傻瓜。謝謝! – sccs 2013-02-22 04:11:26

回答

10

你需要一對鑰匙cout << mymap[make_pair(1,2)] << endl;你目前有什麼cout << mymap[(1,2)] << endl;是不正確的語法。

6

mymap[make_pair(1,2)]

,或者與編譯器支持:

mymap[{1,2}]

相關問題