T>
bool mapFilter(const T& mapOld, const T& mapNew,
std::function<void(const std::pair<const int, int>&)> rez)
{
хочу чтобы получилось чтото вроде bool mapFilter(const T& mapOld, const T& mapNew, std::function<void(const B&)> rez) но никак не работает
typename T::value_type
спасибо, а тут что должно быть? std::function<void(const B&)
Вместо B поставь это
спасибо, мысль я понял
Вообще напомню, что использование std::function, как и любого другого TypeErasure класса, в шаблоне функции скорее всего является ошибкой проектирования
хочу чтобы работало для std::map и для std::unordered_map
Тогда и это можно сделать шаблонными параметрами с ограничениями :)
через static_assert?
Если C++20 то requires, до этого SFINAE через enable_if, если окажется сложно просто проигнорируйте проверки. В static_assert не будет смысла, скорее всего
Вообще первым делом рекомендую написать код тела функции без шаблона :)
так и делал, все работает
и с этим шаблон заработал
А покажите код
Обсуждают сегодня