Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Sylvain
Pierre BRÉAU wrote on 09/02/2007 01:19:
Bonjour
Soit une classe template A avec une méthode template membre f :
template<typename T>struct A { template<typename S>void f(S const &s); };
Dans mes définitions, je veux spécialiser la méthode mais pas la classe. Je pense à quelque chose du type : [...]
spécialiser une définition de template n'a pas de sens - ou j'ai loupé une épisode, ou "spécialiser" a changé de sens - vous ne pouvez que spécialiser une méthode d'une classe concrète, donc d'une "instantiation de template"; pas sur de comprendre non plus le sens du paramètre template S de la fonction f() ...
Sylvain.
Pierre BRÉAU wrote on 09/02/2007 01:19:
Bonjour
Soit une classe template A avec une méthode template membre f :
template<typename T>struct A {
template<typename S>void f(S const &s);
};
Dans mes définitions, je veux spécialiser la méthode mais pas la classe.
Je pense à quelque chose du type : [...]
spécialiser une définition de template n'a pas de sens - ou j'ai loupé
une épisode, ou "spécialiser" a changé de sens - vous ne pouvez que
spécialiser une méthode d'une classe concrète, donc d'une "instantiation
de template"; pas sur de comprendre non plus le sens du paramètre
template S de la fonction f() ...
Soit une classe template A avec une méthode template membre f :
template<typename T>struct A { template<typename S>void f(S const &s); };
Dans mes définitions, je veux spécialiser la méthode mais pas la classe. Je pense à quelque chose du type : [...]
spécialiser une définition de template n'a pas de sens - ou j'ai loupé une épisode, ou "spécialiser" a changé de sens - vous ne pouvez que spécialiser une méthode d'une classe concrète, donc d'une "instantiation de template"; pas sur de comprendre non plus le sens du paramètre template S de la fonction f() ...
Sylvain.
Sylvain
Sylvain wrote on 08/02/2007 01:37:
pas sur de comprendre non plus le sens du paramètre template S de la fonction f() ...
ne pas considérer ce point, je n'avais lu que les params de la seconde définition de f(), "int const s&" ...
la solution est peut être simplement d'imposer (par contrat) une classe (polymorphe) comme paramètre template 'S' dans votre première expression.
Sylvain.
Sylvain wrote on 08/02/2007 01:37:
pas sur de comprendre non plus le sens du paramètre
template S de la fonction f() ...
ne pas considérer ce point, je n'avais lu que les params de la seconde
définition de f(), "int const s&" ...
la solution est peut être simplement d'imposer (par contrat) une classe
(polymorphe) comme paramètre template 'S' dans votre première expression.