Re[5]: Специализация метода. Нужно устранить ошибку
От: rg45 СССР  
Дата: 24.08.22 16:09
Оценка: +1
Здравствуйте, Андрей Тарасевич, Вы писали:

АТ>Прямой "короткий" ответ на вопрос не имеет никакого отношения ни к каким частичным специализациям функций. Язык просто запрещает объявление явных специализаций любых шаблонов внутри определения охватывающего шаблона класса. Этот запрет в одинаковой мере распространяется и на классы, и на функции, т.е. отсутствие частичной специализации функций тут вообще ни при чем.


Но при этом частичные специализации можно делать прямо в классе:

struct A
{
    template <typename> struct Foo;
    
    template <typename T> struct Foo<T*> {}; // OK
    template <> struct Foo<int> {}; // error: explicit specialization in non-namespace scope 'struct A'
};


Это просто для полноты картины.
--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.