ti-enxame.com

Usando o par <int, int> como chave para o mapa

Com base em pergunta anterior , estou tentando criar um mapa usando um par de números inteiros como chave, ou seja, map<pair<int, int>, int> E encontrei informações sobre como inserir:

#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
}   

mas não consigo acessar o elemento! Eu tentei cout << mymap[(1,2)] << endl; mas ele mostra um erro e não consigo encontrar informações sobre como acessar o elemento usando a chave. Estou fazendo algo errado?

18
sccs

você precisa de um par como chave cout << mymap[make_pair(1,2)] << endl; O que você tem atualmente cout << mymap[(1,2)] << endl; não é a sintaxe correta.

13
andre

mymap[make_pair(1,2)]

ou, com suporte do compilador:

mymap[{1,2}]

8
Louis Brandy

Por favor, encontre o código para a referência:

#include<iostream>
#include<map>
using namespace std;


int main()
{

   map<pair<int ,int> ,int > m;
   m.insert({{1, 2}, 100});
   cout << m[{1, 2}];
}
0
Chandra Shekhar