Использование пары & lt; int, int & gt; как ключ к карте

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

13

Решение

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

11

Другие решения

mymap[make_pair(1,2)]

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

mymap[{1,2}]

7

По вопросам рекламы [email protected]