я делаю все правильно, насколько я могу сказать, и я получил сообщение об ошибке:C++ ошибка: «unordered_map» не называет тип
error: 'unordered_map' does not name a type
error: 'mymap' does not name a type
В моем коде, у меня есть:
#include <unordered_map>
using namespace std;
//global variable
unordered_map<string,int> mymap;
mymap.reserve(7000);
void main {
return;
}
Я не вижу, что может быть здесь отсутствует ....
EDIT: когда я обновить мою декларацию
std::tr1::unordered_map<string,int> mymap;
Я могу устранить первую ошибку, но когда я пытаюсь зарезервировать, я все равно получаю второе сообщение об ошибке.
EDIT2: Как указано ниже, запас должен идти в основной и мне нужно компилировать с флагом
-std=c++0x
Тем не менее, по-прежнему являются ошибки, связанные с unordered_map, а именно:
error: 'class std::tr1::unordered_map<std::basic_string<char>, int>' has no member named 'reserve'
Предоставить ** полный ** пример –
Какую версию вы используете? И с какими параметрами вы компилируете свой код? ** Помните, что 'std :: unordered_map' доступен с C++ 11 **. – Nawaz
g ++. Exe (g ++ под MinGW). Версия gcc - 4.6.2. Итак, есть ли способ использовать unordered_map? Когда я использую пространство имен tr1, я могу объявить свой unordered_map, но когда я пытаюсь зарезервировать место, я все равно получаю сообщение об ошибке. – user788171