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