#cpp #шаблоны_с++
templatevoid f(){} template void f (){} function template partial specialization 'f' is not allowed Почему разрешена только полная специализация функции? Как то это не правильно, для классов разрешено, можно и функции рассматривать как отдельные модули. Конечно, перегрузку никто не отменял, но вдруг мне не нужны аргументы функции?
Ответы
Ответ 1
Частичная специализация шаблонов функций рассматривалась в рамках задачи #229, которая была отклонена и закрыта в n2173. Рекомендуемая альтернатива - это перегрузка функций. В случае если параметр шаблона не привязан к аргументу функции, ее надо делать статической функцией шаблонного класса.
Комментариев нет:
Отправить комментарий