Dans le Standard C++ dans le chapitre 14 (Modèles), il est fait référence aux paramètres de modèle avec plusieurs noms différents, selon leur contexte.
paramètre non-type
template
class foo {};
paramètre de modèle
template
class bar {};
paramètre de type
?????
Dans cette citation ci-dessous, cela semble indiquer qu'il s'agit de trois choses distinctes, cependant je n'arrive pas à comprendre ce qu'est un paramètre de type ?
14.1 Paramètres de modèle [temp.param]
9 ... Un argument de modèle par défaut peut être spécifié pour tout type de paramètre de modèle (type, non-type, modèle) qui n'est pas un package de paramètres de modèle (14.5.3). ...
Vous pouvez voir ici qu'il utilise trois noms distincts pour les paramètres de modèle. Si paramètre de modèle était une généralisation des deux autres, pourquoi l'inclure dans la liste ci-dessus.
Dans la section 14.1.2, il les désigne ensuite simplement par type et non-type, et le paramètre de modèle comme une généralisation.
Alors, qu'est-ce que c'est? Quelqu'un peut-il expliquer?