23,121
社区成员
发帖
与我相关
我的任务
分享
#include <string>
#include <ext/hash_map>
using namespace std;
using namespace __gnu_cxx;
int main(int argc, char** argv)
{
hash_map<string, float> hm;
hm.insert(pair<string,float>(string("aaa"), 2.9));
string tmp = "aaa";
hm.find(tmp); //这里报错了,hashtable.h:596 错误:xxxxxxxxx 调用没有匹配??????
return 0;
}
hash_map<string, float,str_hash> hm;
struct str_hash{
size_t operator()(const string& str) const
{
unsigned long __h = 0;
for (size_t i = 0 ; i < str.size() ; i ++)
__h = 5*__h + str[i];
return size_t(__h);
}
};
struct str_hash{
size_t operator()(const string& str) const
{
return return __stl_hash_string(str.c_str());
}
};