Maison > développement back-end > C++ > Une classe sans modèle peut-elle avoir un constructeur de modèle sans paramètre ?

Une classe sans modèle peut-elle avoir un constructeur de modèle sans paramètre ?

Barbara Streisand
Libérer: 2024-12-26 18:54:14
original
293 Les gens l'ont consulté

Can a Non-Template Class Have a Parameterless Template Constructor?

Un constructeur de modèle sans paramètre est-il possible ?

Question :

Un non-modèle peut-il la classe a-t-elle un constructeur de modèle sans arguments ? Est-il vrai qu'il est en conflit avec le constructeur par défaut ?

Réponse :

Spécifier explicitement les arguments du modèle n'est pas possible lors de l'appel d'un modèle de constructeur. Ils sont déduits par déduction argumentative. L'appel de Foo() attribue la liste d'arguments du modèle au type Foo, pas au constructeur.

La solution de contournement que vous avez suggérée nécessite toujours la transmission d'un argument pour appeler le modèle de constructeur. On ne sait pas quel est votre objectif dans ce scénario.

Une alternative consiste à utiliser un constructeur par défaut au lieu d'un constructeur de modèle sans arguments. Si la classe non-modèle a d'autres constructeurs, l'utilisation d'un constructeur de modèle par défaut avec des parenthèses vides () peut éviter l'ambiguïté des paramètres.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal