&t);
как у такой функции сделать особую функциональность для чисел с плавающей точкой?
if constexpr
не хочется в одной функции делать кучу веток на разные типы. Нет способа через специализации сделать не перечисляя каждый тип и не копипастя?
Сверху сфинае предлагали
https://godbolt.org/z/vYYrG3zPa
temptemplate<typename T, typename = std::enable_if_t<std::is_floating_point_v<T>>> void do_smth(const T &t);
А void зачем явно писать?
Да незачем в принципе
подожди, а как её специализировать например для char *?
К слову, ещё через tag dispatch можно Но прокатит только для бинарной "классификации" типов
void do_smth(char*)
а к примеру ещё добавить для интегральных типов
Ну выше только условие другое пишешь
Ну как-то такое. Это скорее замена if constexpr
говорит редифинишен
На generic реализацию надо набросить бо́льшие ограничения
Там проблема в том что когда делаешь две перегрузки как я писал, то там темплейт релифинишн
Ну я уже кидал ссылку Там такого не будет, так как обобщенный шаблон тоже ограничен
Ну у тебя да, но я чет забыл из-за чего это происходит и почему у тебя нет
Хотя понятно в принципе. Ретурн тайп разный у функций
Обсуждают сегодня