Почему следующиеповышение :: unordered_set из char16_t строк
#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?