独坐寒江边 2018-03-18 08:55 采纳率: 100%
浏览 976
已采纳

hash_map 自定义hash函数出错

最近在使用hash_map 的时候发现不能自定义hash 函数,只要这样的话,就会出问题,hash_map, eqstr> day ;但是如果这样的话就不会有问题了,还望大神求解呀 hash_map days;
#include
#include
#include

using namespace std;

struct eqstr //定义比较函数,字符串的比较函数需要单独定义
{
bool operator()(const char* a1, const char* a2) const
{
return strcmp(a1,a2)==0;
}
};

int main()
{
hash_map, eqstr> days;
days["january1"] = 31;
days["january2"] = 41;
days["january3"] = 61;
days["january4"] = 51;

hash_map<const char*, int, hash<const char*>, eqstr>::iterator ite1=days.begin();
hash_map<const char*, int, hash<const char*>, eqstr>::iterator ite2 = days.end();
for (; ite1 != ite2; ++ite1)
{
    cout << ite1->first << endl;
}
system("pause");
return 0;

}


图片说明

  • 写回答

2条回答 默认 最新

  • threenewbee 2018-03-18 15:48
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵