Там у тебя переменная объявлена типа T) и что будет если использовать как T void
Думаю тебе нужна ещё одна специализация класса, а не функций для случая void чтобы были ошибки на этапе компиляции если кто-то его пытается использовать.
Да, не удачный пример. Но давай представим что T _v; может быть инстанциирован от void. типа some_class<T> _v; Специализацию всего класса делать не хочется, т.к. придется копи-пастить другие методы класса, которые не меняются от специализации.
Общий код выносят в базовый класс, отличающийся код в специализации. Я не фанат наследования реализации, но кажется это самый адекватный вариант.
Норм вариант, спасибо.
Обсуждают сегодня