posso definire una funzione specializzata in un cpp in questo modo ...Definire la specializzazione del modello in cpp?
// intestazione
template<typename T>
void func(T){}
template<>
void func<int>(int);
// cpp
template<>
void func<int>(int)
{}
Come posso definire un metodo in una classe specializzata in un cpp? In questo modo (che non funziona, ho error C2910: 'A<int>::func' : cannot be explicitly specialized
) ...
// intestazione
template<typename T>
struct A
{
static void func(T){}
};
template<>
struct A<int>
{
static void func(int);
};
// cpp
template<>
void A<int>::func(int)
{}
Hai controllato questo: http://stackoverflow.com/questions/115703/storing-c-template-function-definitions-in-a-cpp-file – Reunanen
@Pukku Ciò riguarda la specializzazione di un metodo in una classe non basata su modelli, che è in realtà la stessa di una specializzazione di una funzione autonoma (come nel mio esempio precedente). Sto chiedendo di definire un metodo in un _class_ specializzato in un cpp. – David