2009-05-20 7 views
13

Est-ce que quelqu'un connaît la syntaxe d'une méthode de modèle de déclaration de dépassement de capacité dans une classe de modèle.Des définitions de modèles de déclaration sont manquantes pour la méthode de modèle dans la classe de modèle

par exemple:

template<class TYPE> 
class thing 
{ 
public : 
    void do_very_little(); 

    template<class INNER_TYPE> 
    INNER_TYPE do_stuff(); 
}; 

La première méthode est définie:

template<class TYPE> 
void thing<TYPE>::do_very_little() 
{ 
} 

Comment puis-je faire le second, "do_stuff"?

+0

Vouliez-vous dire de déclarer do_stuff comme un champ membre? En supposant que vous vouliez réellement déclarer une méthode, quels sont ses arguments? – outis

+0

Vous devez mettre des crochets après do_stuff dans la déclaration de la classe –

Répondre

29
template<class TYPE> 
template<class INNER_TYPE> 
INNER_TYPE thing<TYPE>::do_stuff() 
{ 
    return INNER_TYPE(); 
} 

Essayez ceci.

+1

Battez-moi en quelques secondes! Bien fait :-) –

+2

Ha ha, Nous avons donné le même code :-) – CMinus

+0

A voté tous les deux de u. à votre santé :) –

Questions connexes