Подтвердить что ты не робот

Использование пары <int, int> в качестве ключа для карты

Основываясь на предыдущем вопросе, я пытаюсь создать карту, используя пару целых чисел в качестве ключа, то есть map<pair<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;, но он показывает ошибку, и я не могу найти информацию о том, как получить доступ к элементу с помощью ключа. Я что-то делаю неправильно?

4b9b3361

Ответ 1

вам нужна пара в качестве ключа cout << mymap[make_pair(1,2)] << endl; То, что у вас сейчас есть cout << mymap[(1,2)] << endl;, не является правильным синтаксисом.

Ответ 2

mymap[make_pair(1,2)]

или, с поддержкой компилятора:

mymap[{1,2}]