Sto cercando di specializzarsi una funzione all'interno di una specializzazione di un modello di classe, ma non riesco a capire la giusta sintassi:specializzazione esplicita di una funzione di modello per un modello di classe completo specializzata
template< typename T >
struct Foo {};
template<>
struct Foo<int>
{
template< typename T >
void fn();
};
template<> template<>
void Foo<int>::fn<char>() {} // error: too many template-parameter-lists
Here I' Sto cercando di specializzarmi su fn
per char
, che è all'interno di Foo
specializzato per int
. Ma al compilatore non piace quello che scrivo. Quale dovrebbe essere la sintassi corretta allora?
Sorprendentemente, il messaggio di errore del compilatore era perfetto. –