2014-09-03 2 views
0

В настоящее время я изучаю STL, и я пытаюсь реализовать неупорядоченную карту для файла словаря.Unordered Maps on g ++

Это первый раз, когда я сделал это, поэтому я провел много исследований, прежде чем пытаться это сделать.

Я хочу сделать неупорядоченную карту для моего задания, потому что мы можем получить дополнительные баллы, если мы сможем сделать наш проект быстрее, чем то, что сейчас является нашим решением для преподавателя.

Проблема Я бегу в том, что я получаю эту ошибку:

SpellCheck.h: 16: ошибка: ISO C++ запрещает декларации âunordered_mapâ без указания типа

Я уверен, что мой синтаксис правильно, но я мог что-то упустить.

Я не уверен, что это помогает, но я собираюсь на школьном сервере, используя g ++.

Моя версия g ++ g ++ (GCC) 4.4.7.

#ifndef SPELLCHECK_H 
#define SPELLCHECK_H 
#include <vector> 
#include <tr1/unordered_map> 
#include <string> 


using std::vector; 
using std::string; 


class SpellCheck 
{ 
private: 
typedef vector<string> Vector; 
typedef unordered_map<string, int> Dictionary; 
}; 
#endif 
+6

'ЬурейеЕ станд :: tr1 :: unordered_map словарь;' –

+0

Вау, это сработало! Огромное спасибо. – MipsMoreLikeWhips

ответ

3

Это также должно работать. Скомпилируйте с флагом -std=c++0x, чтобы использовать C++ 11 с g ++.

#ifndef SPELLCHECK_H 
#define SPELLCHECK_H 
#include <vector> 
#include <unordered_map> 
#include <string> 

class SpellCheck 
{ 
private: 
    typedef std::vector<std::string> Vector; 
    typedef std::unordered_map<std::string, int> Dictionary; 
}; 
#endif 
+0

Да, это тоже сработало. Спасибо! – MipsMoreLikeWhips