mun*_*ish 4 c++ unordered-map visual-studio-2008
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main()
{
unordered_map< int, string > m;
m[1] = "one";
m[2] = "two";
m[4] = "four";
m[3] = "three";
m[2] = "TWO!";
cout << m[2] << endl;
m.clear();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我正在学习,无法弄明白.编译器抛出类型unordered_map未声明的错误.
我使用的是Visual C++ 2008 Express Edition.
MW_*_*dev 12
在Visual Studio 2008中,技术报告1(TR1)中的类位于命名空间std :: tr1中.加:
using namespace std::tr1;
Run Code Online (Sandbox Code Playgroud)
你的代码.
在TR1 unordered_map中可以从头<tr1/unordered_map>文件中获得std::tr1::unordered_map.
在即将推出的C++ 0x标准中,它可以从头<unordered_map>文件中获得std::unordered_map.
因此,您应该为vc 2008 使用<tr1/unordered_map>标头和std::tr1::unordered_map命名空间,因为vc 2008不支持C++ 0x.
要回答你在评论中引用的问题.
另外,请确保下载VS2008的功能包!
检查新功能支持列表.
New containers (tuple, array, unordered set, etc)
Run Code Online (Sandbox Code Playgroud)