Pouvez les paramètres du modèle d'un constructeur à être explicitement spécifié?

Un constructeur d'une classe peut être une fonction de modèle. Au point où un tel constructeur est appelé, le compilateur considère habituellement les arguments donnés par le constructeur et détermine le modèle utilisé des paramètres à partir d'eux. Est-il aussi certains de la syntaxe pour spécifier les paramètres du modèle de façon explicite?

Un exemple artificiel:

struct A {
   template<typename T>
   A() {}
};

Est-il possible d'instancier cette classe? Quelle est la syntaxe pour spécifier explicitement le constructeur de paramètres de modèle?

Mon cas d'utilisation serait un problème a été le compilateur ne semble pas trouver la bonne basée sur des modèles du constructeur. De spécifier explicitement les paramètres du modèle serait probablement générer plus de messages d'erreur utiles ou même résoudre le problème.

  • Spécifiant explicitement arguments de modèle pour les constructeurs ne fonctionne qu'en explicite les spécialisations, les instanciations, de définitions de ligne et ami déclarations du constructeur.
  • template <class TArg> struct A { template<typename T = TArg> A() {} }; - fonctionne très bien pour moi. Mais bien sûr, nous avons maintenant en classe de modèle.
InformationsquelleAutor sth | 2010-05-18