Я пытаюсь получить результирующий тип std :: bind в сочетании с лямбдой. Я пробовал следующие два:
template<typename F>
typename std::result_of<std::bind(F,uint)> func(F f, uint i);
Это не работает по какой-то причине. Я также пробовал использовать decltype:
template<typename F>
decltype(std::bind(F(),uint()) func(F f, uint i);
Это не работает, потому что, когда я использую эту функцию-шаблон с лямбда f, он жалуется, что лямбды имеют удаленный конструктор по умолчанию.
Не могли бы вы помочь мне здесь? Я безуспешно пытался найти ответы в сети.
Спасибо!
template<typename F> auto func(F f, uint i) -> decltype(std::bind(f, i));
или используйтеstd::declval
для C ++ 11.decltype(auto)
для C ++ 14. - person Jarod42   schedule 11.01.2018