我试图为我自己的类型专门化哈希,一个模板键。
我是基于cppreference。
我收到编译错误“C++ 标准不提供这种类型的哈希”。我想我只是做错了。编译器甚至可以支持这种模板吗?
namespace std {
template<typename SType, typename AType, typename PType>
struct MyKey {
const SType from;
const AType consume;
const PType pop;
};
template<typename SType, typename AType, typename PType>
struct hash<MyKey<SType, AType, PType>> {
size_t operator ()(MyKey const &key) {
std::hash<SType>()(key.from);
std::hash<AType>()(key.consume);
std::hash<PType>()(key.pop);
}
};
}