Re: Специализация шаблонной функции шаблонного класса, подск
От: rg45 СССР  
Дата: 11.07.19 09:40
Оценка: 6 (1)
Здравствуйте, Marty, Вы писали:

M>Есть шаблонный класс с шаблонными функциями. Хочу специализировать функции по их шаблонному аргументу, но чтобы они остались шаблонными по параметру шаблона класса.

M>И сам делал такое, но довольно нечасто и давно, и совсем позабыл, что к чему.

Вероятно, ты делал специализацию для шаблонных функций НЕшаблонного класса. А то, что ты хочешь — это не что иное, как частичная специализация шаблонных функций(членов), которая никогда не поддерживалась раньше, не поддерживается и сейчас.

Поэтому в тех случаях, когда это возможно, следует предпочитать перегрузки специализациям и тогда эта проблема уходит автоматически. Но бывает так, что параметр шаблона не связан с формальными параметрами функции и/или не выводится из них автоматически. На этот случай тоже есть типовые решения:

Способ первый — реализация шаблонной функции через шаблонный класс. И тогда частичная специализация делается уже для класса, а не для функции: https://ideone.com/FNbuG3

Другой способ — добавление к списку формальных параметров функции дополнительного фейкового параметра, производного от типа, по которому требуется сделать специализацию: https://ideone.com/CRgCQU.
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 11.07.2019 11:54 rg45 . Предыдущая версия . Еще …
Отредактировано 11.07.2019 11:48 rg45 . Предыдущая версия .
Отредактировано 11.07.2019 11:40 rg45 . Предыдущая версия .
Отредактировано 11.07.2019 11:38 rg45 . Предыдущая версия .
Отредактировано 11.07.2019 11:08 rg45 . Предыдущая версия .
Отредактировано 11.07.2019 10:15 rg45 . Предыдущая версия .
Отредактировано 11.07.2019 9:43 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.