【发布时间】:2012-11-09 06:35:01
【问题描述】:
我第一次使用std::unordered_set,对哈希函数有疑问。据我了解,如果您不指定哈希函数,它将默认为std::hash<Key>。
我的一个班级中有一个mySet 成员:
typedef std::unordered_set<MyClass> USetType;
USetType mySet;
当我尝试构建时,我收到以下错误:
错误 C2440:“类型转换”:无法从“const MyClass”转换为“size_t”
如果你想在自定义类中使用unordered_set,是否需要定义一个转换函数(到size_t)?有什么办法可以避免编写自己的哈希函数而只使用默认值?
【问题讨论】:
-
您希望自定义类型的默认哈希是什么?
标签: c++ hash unordered-set