Based on a previous question, I am trying to create a map using a pair of integers as a key i.e. map<pair<int, int>, int>
and I've found information on how to insert:
#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
}
but I can't seem to access the element! I've tried cout << mymap[(1,2)] << endl;
but it shows an error, and I can't find information on how to access the element using the key. Am I doing something wrong?
you need a pair as a key cout << mymap[make_pair(1,2)] << endl;
What you currently have cout << mymap[(1,2)] << endl;
is not the correct syntax.
mymap[make_pair(1,2)]
or, with compiler support:
mymap[{1,2}]
来源:https://stackoverflow.com/questions/15016646/using-pairint-int-as-key-for-map