26

基于上一个问题,我正在尝试使用一对整数作为键来创建映射,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;,但它显示错误,我找不到有关如何使用密钥访问元素的信息。难道我做错了什么?

4

3 回答 3

17

您需要一对作为密钥cout << mymap[make_pair(1,2)] << endl;您目前拥有cout << mymap[(1,2)] << endl;的不是正确的语法。

于 2013-02-22T04:13:02.607 回答
10

mymap[make_pair(1,2)]

或者,在编译器支持下:

mymap[{1,2}]

于 2013-02-22T04:14:05.923 回答
3

请找到参考代码:

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


int main()
{

   map<pair<int ,int> ,int > m;
   m.insert({{1, 2}, 100});
   cout << m[{1, 2}];
}
于 2019-12-26T06:07:17.630 回答