En C , un constructeur de classe peut être défini comme une fonction de modèle. Généralement, le compilateur détermine les paramètres du modèle utilisés en examinant les arguments transmis au constructeur lors de son appel. Cependant, existe-t-il un moyen de spécifier explicitement les paramètres du modèle à la place ?
Considérez la classe suivante :
struct A { template<typename T> A() {} };
Malheureusement, C 03 ne fournit pas de moyen de spécifier explicitement les paramètres de modèle d'un constructeur. La norme indique :
[Remarque : parce que la liste d'arguments explicites du modèle suit le nom du modèle de fonction, et
parce que les modèles de fonctions membres de conversion et les modèles de fonctions membres constructeur sont appelés sans utiliser de nom de fonction, il n'y a pas moyen de fournir une liste d'arguments de modèle explicite pour ces modèles de fonctions.] (§14.5.2/5)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!