关于hash_map的一段代码
#include<hash_map>
#include<iostream>
#include<utility>
#include<string>
using namespace std;
int main()
{
pair<int,int> A;
hash_map<pair<int,int>,string> B;
string C;
for(int i = 0;i <= 5;i++)
{
cin >> A.first >> A.second ;
cin >> C;
B[A] = C;
}
for(hash_map<pair<int,int>,string>::iterator iter = B.begin();iter != B.end();iter++)
cout << iter->first.first << iter->second << iter->first.first;
system("pause");
return 0;
}
这段代码在编译时报错为错误1error C2440: “类型转换”: 无法从“const std::pair<_Ty1,_Ty2>”转换为“size_t”c:\program files\microsoft visual studio 10.0\vc\include\xhash341hash_map2
请问怎么改?那位好心的大哥大姐给改改
[解决办法]
hash是根据value映射的 搜索速度快是因为 存在比较 你的value是个pair没有比较可言 所以不能实现高速搜索 自然不能用hash