что тип должен наследоваться от конктретного класса?
is_base_of
а С++20 или нет? Если нет, то надо SFINAE
Тогда заменить тип возвращаемого значения (пусть был void) на enable_if_t<is_base_v<T1, T2>, void>
Обсуждают сегодня