就我所知,我已经正确地做了一切,但我收到了错误的提示信息:
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;
}
我不清楚这里可能会缺少什么......
编辑:当我更新我的声明为
std::tr1::unordered_map<string,int> mymap;
我能够解决第一个错误,但是当我尝试进行预留时,我仍然会收到第二个错误消息。
编辑2:如下面所指出的,reserve必须进入主函数,并且我需要使用标志进行编译。
-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 中可用的。 - Nawazreserve
的调用必须移到main
中。 - didierc