Decir que tengo la clase siguiente:¿Cómo especializo un miembro estático de una clase de plantilla en un tipo de plantilla?
template<class T>
struct A
{
static int value;
};
template<class T>
int A<T>::value = 0;
puedo especializar A::value
en un tipo concreto sin problemas:
struct B
{
};
template<>
int A<B>::value = 1;
me gustaría especializarse A :: valor a un tipo de plantilla, lo intentado el siguiente:
template<class T>
struct C
{
};
// error: template definition of non-template 'int A<C<T> >::value'
template<>
template<class T>
int A<C<T> >::value = 2;
¿hay alguna manera de hacer esto o es sólo posible especializarse a :: valor de los tipos no de plantilla?
+1: puede que quiera decir Valor :: valor. –
Chubsdad
@Chubsdad es una definición de OP's A :: value. Vaue :: value no necesita una definición. –