Лямбды с auto параметрами присовываются туда нормально.
Лямбды надоело писать одни и те же, хочу написать класс-функтор. Проблема в том, что не хочу завязываться на конкретные типы: Type1, Type2 надо через длинную жопу доставать, и не хочу лишнюю связность делать.
Попробовал сделать обычную структуру, у которой у operator() все параметры типа auto. Не прокатило. Видимо надо делать шаблон. Шаблоном должен быть тип, или можно обойтись шаблоннным operator()?
Здравствуйте, Marty, Вы писали:
M>Лямбды надоело писать одни и те же, хочу написать класс-функтор. Проблема в том, что не хочу завязываться на конкретные типы: Type1, Type2 надо через длинную жопу доставать, и не хочу лишнюю связность делать.
M>Попробовал сделать обычную структуру, у которой у operator() все параметры типа auto. Не прокатило. Видимо надо делать шаблон. Шаблоном должен быть тип, или можно обойтись шаблоннным operator()?
Структура-функтор — шаблон без auto.
Для удобства make_... шаблонная функция с auto (как std::make_unique и т.п.).
Здравствуйте, Marty, Вы писали:
M>Здравствуйте!
M>Есть некий обработчик типа M>
M>std::function<void(Type1 v1, Type2 v2)>
M>
M>Лямбды с auto параметрами присовываются туда нормально.
M>Лямбды надоело писать одни и те же, хочу написать класс-функтор. Проблема в том, что не хочу завязываться на конкретные типы: Type1, Type2 надо через длинную жопу доставать, и не хочу лишнюю связность делать.
M>Попробовал сделать обычную структуру, у которой у operator() все параметры типа auto. Не прокатило. Видимо надо делать шаблон. Шаблоном должен быть тип, или можно обойтись шаблоннным operator()?
Здравствуйте, Marty, Вы писали:
M>Здравствуйте, vopl, Вы писали:
V>>А что именно не прокатило? https://gcc.godbolt.org/z/Ezxa3T77x
M>MSVC насыпал кучу странных сообщений на это auto, и это я ещё не использоват свой функтор, а просто подключил хидер с ним.
поставь новую студию с новым компилем
включи c++20
и хватит ныть
в каждом твоем сообщении в ветке cpp
про то как ты своей старой 19 студией
пытаешься и рыбку съесть и ... сесть