код не работает, а во втором да?
auto hash = [](const std::pair<std::string, std::string>& p) { return std::hash<std::string>{}(p.second); };
std::unordered_set<std::pair<std::string, std::string>, decltype(hash)> set{ };
И как пофиксить в С++17
decltype(hash), судя по всему
А что с ним?
Упс. Прошу прощения, подумал, что decltype() внутри лямбды
кастани хеш в функцию
Пофиксить добавлением + и передачей хешера в конструктор
Ну на самом деле просто + не решил бы проблему, т.к. передавать всё равно пришлось бы
Это да, поэтому я исправился в следующем сообщении)
Обсуждают сегодня