sto facendo tutto correttamente, per quanto posso dire e ho ottenuto il messaggio di errore:C++ di errore: 'unordered_map' non nominare un tipo
error: 'unordered_map' does not name a type
error: 'mymap' does not name a type
Nel mio codice, ho:
#include <unordered_map>
using namespace std;
//global variable
unordered_map<string,int> mymap;
mymap.reserve(7000);
void main {
return;
}
non vedo che cosa può mancare qui ....
EDIT: quando aggiorno il mio dichiarazione
std::tr1::unordered_map<string,int> mymap;
Sono in grado di eliminare il primo errore, ma quando provo a prenotare, ottengo ancora il secondo messaggio di errore.
EDIT2: Come sottolineato in basso, riserva deve andare in principale e ho bisogno di compilare con la bandiera
-std=c++0x
Tuttavia, ci appaiono ancora errori relativi alla unordered_map, vale a dire:
error: 'class std::tr1::unordered_map<std::basic_string<char>, int>' has no member named 'reserve'
fornire un ** completo ** esempio –
Quale versione di quale compilatore stai usando? E con quali opzioni stai compilando il tuo codice? ** Ricorda che 'std :: unordered_map' è disponibile con C++ 11 **. – Nawaz
g ++. Exe (g ++ sotto MinGW). la versione di gcc è 4.6.2. Quindi c'è un modo per me di usare unordered_map? Quando uso il namespace tr1, sono in grado di dichiarare la mia unordered_map ma quando provo a riservare spazio, ricevo comunque un errore. – user788171