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 に答える