1
所以我使用的库有一个枚举(说它的名字为LibEnum
)。我需要std::unordered_set
的LibEnum
,但是我收到编译错误,没有专门的std::hash
它。我可以很容易地编写它,只是返回值的数量(第一个元素是0,第二个1等),但我应该把这个专业化的地方,它应该是什么样子?我无法修改库源。如何专门从其他库的类型std ::哈希
enum LibEnum { A, B, C, D};
std::unordered_set <LibEnum> mySet;
//need std::hash for LibEnum
//how should it look like?
当你使用'enum'这个[document](http://isocpp.org/blog/2013/02/closer-to-perfection)描述了在C++ 11中引入的enum的扩展(只是因为你不知道)。 – hmjd 2013-02-11 14:33:55
@hmjd有趣的阅读,谢谢。 – user1873947 2013-02-11 14:34:58
可能重复[如何专门化std :: hash ::运算符()用于无序容器中的用户定义类型?](http://stackoverflow.com/questions/8157937/how-to-specialize-stdhashkeyoperator-for -user-defined-type-in-unordered) –
Orient
2016-02-12 06:19:58