Dod*_*bro 0 c++ types unordered-map
我正在尝试将无序映射声明到我的程序中,我将在其中将它们映射到另一个文件中的标记.
我需要一个返回Token.h中找到的Token类型的方法(这是一个enum class)
令我困惑的是,因为我想将映射的标记从中返回unordered_map到enum class,所以该方法的返回类型应该是什么?而且,它说明了这一点
error: 'unordered_map' does not name a type
我对C++很陌生,在这种情况下我仍然觉得我应该如何声明方法.我已经读过无序映射应该在INSIDE方法中声明,但是因为我想要地图返回的值,它应该是返回类型?
我试过这个
Token Lexer::getTokenType()
{
unordered_map<string,Token> tokenType;
}
Run Code Online (Sandbox Code Playgroud)
这会输出以下错误:

#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
#include <stdio.h>
#include <sstream>
#include <wctype.h>
#include <map>
#include "lexer.h"
using namespace std;
long Row, Col, Offset;
unordered_map<string, Token> ProtectedWords
{
}
Run Code Online (Sandbox Code Playgroud)
要么
unordered_map<string, Token>::Lexer::getTokenType()
{
}
Run Code Online (Sandbox Code Playgroud)
仍然产生了同样的结果
它的错误: 
我知道这些听起来很愚蠢,但你能介意给我解释一下吗?正如在我所遵循的教程中,很多是,是的,在方法中调用,但即使这样也行不通
你需要包括<unordered_map>.
您还需要启用C++ 11的支持,如果你还没有这样做:为GCC,确保编译参数包括-std=c++11(或者c++0x,如果您使用的是旧的编译器).