Tengo una clase de plantilla A < T, int> y dos typedefs A < cadena, 20> y A < cadena, 30>. ¿Cómo anulo el constructor para una cadena A <, 20>? El siguiente no funciona:C++ plantilla especialización del constructor
template <typename T, int M> class A;
typedef A<std::string, 20> one_type;
typedef A<std::string, 30> second_type;
template <typename T, int M>
class A {
public:
A(int m) {test= (m>M);}
bool test;
};
template<>
one_type::one_type() { cerr << "One type" << endl;}
Me gustaría que la clase A < std :: string, 20> para hacer algo que la otra clase no lo hace. ¿Cómo puedo hacer esto sin cambiar el constructor A: A (int)?
¿Qué está tratando de obtener las clases que se pueden hacer? – GManNickG
La pregunta no está clara. Por cierto, one_type no tiene constructor vacío, tiene constructor con parámetro int. – Drakosha