增加的typedef當我是新的C++和我正在學習從加速C++(與書的人,我想運行§7.4中描述的程序)錯誤頭
程序我正在尋找使用一些typedefs - 我收集,如果我將這些添加到頭文件,包含該頭的任何源文件也將能夠使用typedefs。
我的頭是:
#ifndef READ_GRAMMAR_H_INCLUDED
#define READ_GRAMMAR_H_INCLUDED
typedef std::vector<std::string> Rule;
typedef std::vector<Rule> Rule_collection;
typedef std::map<std::string, Rule_collection> Grammar;
Grammar read_grammar(std::istream& in);
#endif // READ_GRAMMAR_H_INCLUDED
這是給我的錯誤error: 'map' in namespace 'std' does not name a type
如果我改變第三的typedef typedef std::vector<Rule_collection> Grammar;
(不,我想這一點,只是舉例),它構建沒有錯誤。
任何想法是什麼問題?我不知道我是在做一些錯誤的小事,或者整個方法是不正確的
你需要'#包括
''。 –
chris
@ rbennett485我相信地圖是間諜! –