【C++】error: call-to-implicitly-deleted-default-constructor

前言

在使用 unordered_set 容器时引发的编译错误,直译一下是调用了隐式删除的默认构造函数。

	unordered_map<pair<int, int>>
	unordered_set<pair<int, int>>

原因

unordered_map 和 unordered_set 都使用默认的std::hash来计算key,而std::hash无法处理pair类型。

解决

  • 改用map, set
  • 自定义哈希函数
posted @ 2021-11-16 08:49  团火  阅读(396)  评论(0编辑  收藏  举报