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


前言

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

	unordered_map>
	unordered_set>

原因

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

解决

  • 改用map, set
  • 自定义哈希函数
C++