use*_*171 13 c++ types unordered-map
据我所知,我正在做所有事情,我收到了错误消息:
error: 'unordered_map' does not name a type
error: 'mymap' does not name a type
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我有:
#include <unordered_map>
using namespace std;
//global variable
unordered_map<string,int> mymap;
mymap.reserve(7000);
void main {
return;
}
Run Code Online (Sandbox Code Playgroud)
我不知道这里可以找到什么....
编辑:当我更新我的声明时
std::tr1::unordered_map<string,int> mymap;
Run Code Online (Sandbox Code Playgroud)
我能够消除第一个错误,但是当我尝试保留时,我仍然得到第二个错误消息.
EDIT2:正如下面所指出的,保留必须进入main,我需要用flag编译
-std=c++0x
Run Code Online (Sandbox Code Playgroud)
但是,仍然存在与unordered_map相关的错误,即:
error: 'class std::tr1::unordered_map<std::basic_string<char>, int>' has no member named 'reserve'
Run Code Online (Sandbox Code Playgroud)
gon*_*aao 17
编译g++ -std=c++11(我的gcc版本是gcc 4.7.2)AND
#include <unordered_map>
#include <string>
using namespace std;
//global variable
unordered_map<string,int> mymap;
int main() {
mymap.reserve(7000); // <-- try putting it here
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果您想支持
<unordered_map>早于 c++11 的版本,请使用
#include<tr1/unordered_map>并以以下形式声明您的地图:-std::tr1::unordered_map<type1, type2> mymap
它将使用技术报告 1 扩展名以实现向后兼容性。