std :: pair在std :: map中使用

时间:2015-05-07 15:21:37

标签: c++ c++11

我的程序有问题。到达

时出现错误
cout << it->second << endl;

我的节目:

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

int main() {
    map<pair<int, int>, int> kwadraty;
    long long ile;
    cin >> ile;
    int temp1, temp2;
    for(int i = 0; i < ile; i++)
    {
        cin >> temp1 >> temp2;
        kwadraty[pair<int, int>(temp1, temp2)]++;
    }

    for(map<pair<int, int>, int>::iterator it; it != kwadraty.end(); it++)
    {
        cout << it->second << endl;
    }

    return 0;
}

谁能看到问题出在哪里?

1 个答案:

答案 0 :(得分:5)

你忘了初始化迭代器:

for(auto it = kwadraty.begin(); it != kwadraty.end(); it++)
            ^^^^^^^^^^^^^^^^^^