Itérer non ordonnée de la carte C++

J'ai écrit programme qui lit l'entrée jusqu'à ce que vous frappez ',' - COMA à l'entrée. Ensuite, il compte le nombre de lettres que vous mettez dans,

Je veux itérer sur cette carte, mais il est dit que it ne peut pas être définie avec aucun type:

#include <iostream>
#include <conio.h>
#include <ctype.h>

#include <iostream>
#include <string>
#include <tr1/unordered_map>
using namespace std;

int main(){
    cout<<"Type '.' when finished typing keys: "<<endl;
    char ch;
    int n = 128;
    std::tr1::unordered_map <char, int> map;


    do{
      ch = _getch();
    cout<<ch;
      if(ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z'){
            map[ch] = map[ch] + 1;
      }
    } while( ch != '.' );

    cout<<endl;

    for ( auto it = map.begin(); it != map.end(); ++it ) //ERROR HERE
        std::cout << " " << it->first << ":" << it->second;


    return 0;
}
avez-vous compilez avec -std=c++11? auto est un C++11 fonctionnalité.
Aussi, s'il vous plaît éviter la confusion et ne pas le nom de vos objets comme des types STL, par exemple, renommer map à aMap.

OriginalL'auteur Yoda | 2014-04-05