读书人

关于hash_地图的一段代码

发布时间: 2012-10-21 09:00:07 作者: rapoo

关于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

读书人网 >C++

热点推荐