от определённого класса?
с метапрограммированием знаком?
Если достаточно чтобы функция выдавала ошибку при вызове с классом не отнаследованным от твоего, то можно так template<class T> void foo(T t){ static_assert(std::is_base_of_v<BaseClass,T>, "Not base of BaseClass") }
Или через enable_if
толку от сфинае если функция одна
В си++ тебе такое не нужно
Тут скорее задача использовать как интерфейс базовый класс, чтобы получить доступ к методам базового класса
Методы и так доступны
А поч просто не сделать функцию, принимающую указатель на базовый класс? Она сможет принимать наследников
Там возвращаемый тип получается тоже базовым
Сделать обертку с шаблонами? (хз, насколько это плохое решение)
Зачем шаблон?
Я предположил, что через него это делается, может я в чём-то в плюсах ошибаюсь...
void foo(const Base& base);
Почему-то в подобном состоянии сейчас не находит метод
Ну я не экстрасенс
Да, сейчас опишу ситуацию
Слова ничто, код — всё
Чорд, как жаль, что ты ещё не экстрасенс...
Могу экстрасенсировать только с undefined reference ошибкой До большего не дорос
В общем-то пока никак, про это всё как раз концепты, которые будут в 20ом стандарте (будут ли?) Но это И НЕ НУЖНО ПРОВЕРЯТЬ по подходу к шаблонному коду.
Илья, с начала времён есть сфинае
Ну да, но ну его... Не обязательно оно совсем.
Обсуждают сегодня