Tengo una clase de plantilla para la que tengo algunas especializaciones.
Pero la siguiente especialización es una plantilla en sí misma. ¿Cómo se especifica esto:Especialización que es en sí misma una plantilla
template<typename T>
class Action
{
public: void doStuff() { std::cout << "Generic\n"; }
}
// A specialization for a person
template<>
class Action<Person>
{
public: void doStuff() { std::cout << "A Person\n";}
}
// I can easily specialize for vectors of a particular type.
// But how do I change the following so that it works with all types of vector.
// Not just `int`
template<>
class Action<std::vector<int> >
{
public: void doStuff() { std::cout << "A Generic Vector\n";}
}
¡Me pregunto si usted no sabe esto! – Nawaz
@Nawaz: ¿mi pensamiento también, tal vez a última hora de la noche? –
Ahora que veo la respuesta es obvio, pero seguí agregando otra línea de plantilla en su. –