Разрешено ли частичной специализации иметь больше параметров шаблона, чем основной шаблон?Насколько я понимаю, частичная специализация должна иметь меньшее или такое же количество параметров шаблона, что и основной шаблон.
Я читаю шаблоны C ++ (2-е издание) и что это упоминается в разделе 5.4 (Страница72), что
template <typename T, std::size_t SZ>
struct MyClass<T[SZ]>{
static void print(){}
};
и
template <typename T, std::size_t SZ>
struct MyClass<T (&)[SZ]>{
static void print(){}
};
являются частичными специализациями основного шаблона
template <typename T>
struct MyClass;
Прилагаемый код работает нормально.Но правильно ли это?Может ли частичная специализация иметь больше параметров шаблона, чем основной шаблон?
Редактировать - Этот вопрос был помечен как дубликат другого вопроса, но ответы на него здесь не имеют отношения к данному вопросу.Вопрос здесь в отношении количества параметров шаблона и комментариев, а также быстрое перечитывание стандарта прояснили для меня ответ.