linux hash_map<string, double>,调用find(string)方法出错?
时间:2011-12-06
来源:互联网
代码如下:
C/C++ code
哪位大侠知道是怎么回事呢?
C/C++ code
#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; }
哪位大侠知道是怎么回事呢?
作者: wesleyluo 发布时间: 2011-12-06
引用楼主 wesleyluo 的回复:
代码如下:
C/C++ code
#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,……
代码如下:
C/C++ code
#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,……
试了下,在insert的地方也出错,感觉是不能调用hash_map的插入和查找方法,但是调用size()方法没问题;
作者: wesleyluo 发布时间: 2011-12-06
引用 1 楼 wesleyluo 的回复:
引用楼主 wesleyluo 的回复:
代码如下:
C/C++ code
#include <string>
#include <ext/hash_map>
using namespace std;
using namespace __gnu_cxx;
int main(int argc, char** argv)
{
hash_map<string, float>……
引用楼主 wesleyluo 的回复:
代码如下:
C/C++ code
#include <string>
#include <ext/hash_map>
using namespace std;
using namespace __gnu_cxx;
int main(int argc, char** argv)
{
hash_map<string, float>……
hash_map当时有扩展类型,如string类型时,应该指定 hash函数。
string类型一般使用:
C/C++ code
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); } };
或者系统定义的string哈希函数:
C/C++ code
struct str_hash{ size_t operator()(const string& str) const { return return __stl_hash_string(str.c_str()); } };
作者: axengine 发布时间: 2011-12-06
定义的时候这样:
C/C++ code
记得把哈希函数加上
C/C++ code
hash_map<string, float,str_hash> hm;
记得把哈希函数加上
作者: axengine 发布时间: 2011-12-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28