unordered_map d'erreur de GCC

Quand la unordered_map concept intégré dans g++?

Parce que le code suivant génère une erreur.

#include<iostream>
#include<unordered_map>
#include<stdio.h>

using namespace std;

std::unordered_map<std::int,int> mirror;

mirror['A'] = 'A';
mirror['B'] = '#';
mirror['E'] = 3;

int main(void)
{
    std::cout<<mirror['A'];
    std::cout<<mirror['B'];
    std::cout<<mirror['C'];
    return 0;
}

Je compile le code comme suit:

g++ -c hashexample.cpp
g++ -o result hashExample.o
./result

L'erreur que j'ai est ceci:

inavalid types int[char[ pour aaray indice

Qu'est-ce que le correctif de ce?

Outre les solutions proposées ci-dessous, vous pouvez envisager de modifier votre modèle de <int,int> <char, int> que vous utilisez uniquement des caractères pour fournir la clé. Juste une observation/suggestion!
qui ne devrait même pas compiler en raison de la std::int, ce qui n'est pas valide en C++.
stdio.h a été déprécié en C++ depuis au moins 13 ans, et pourquoi n'êtes-vous pas l'indentation de ton code?

OriginalL'auteur station | 2011-09-09