2009-05-20 12 views
13

Qualcuno conosce la sintassi per un metodo modello fuori dichiarazione in una classe modello.Definizioni del modello di dichiarazione fuori dal metodo del modello nella classe template

per esempio:

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

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

Il primo metodo è definito:

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

come faccio a fare il secondo, "do_stuff"?

+0

Forse cercavi di dichiarare do_stuff come un campo membro? Supponendo che in realtà intendevi dichiarare un metodo, quali sono i suoi argomenti? – outis

+0

È necessario inserire parentesi dopo do_stuff nella dichiarazione della classe –

risposta

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

Prova questo.

+1

Beat me by seconds! Ben fatto :-) –

+2

Ah ah, Abbiamo dato lo stesso codice :-) – CMinus

+0

Votato entrambi di u. Saluti :) –

Problemi correlati