1
爲什麼以下的boost :: char16_t字符串unordered_set
#include <string>
#include <boost/unordered_set.hpp>
int main()
{
typedef boost::unordered_set<std::string> unordered_set;
unordered_set animals;
animals.emplace("cat");
animals.emplace("shark");
animals.emplace("spider");
return 0;
}
工作,並按照太多的編譯錯誤結果。
#include <string>
#include <boost/unordered_set.hpp>
int main()
{
typedef boost::unordered_set<std::u16string> unordered_set;
unordered_set animals;
animals.emplace("cat");
animals.emplace("shark");
animals.emplace("spider");
return 0;
}
此外,有什麼解決方案呢?我是否需要在函數對象中編寫我自己的hash_function
和operator==
?here?