SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: ifmaster en Sábado 18 de Marzo de 2006, 14:04
-
Hola, quiero hacer una clase con un Template y tengo un problema, si ago la clase solo en un archivo .h, me funciona todo bien, pero si intento que esa clase tenga un .cpp, me dan cuatro errores (el uso de plantillas de clase requiere una lista de argumentos de plantilla, los cuatro errores son iguales y son dos para el constructor y dos para el destructor)
Lo que e echo es lo siguiente:
Archivo .h:
#ifndef __TEMPLATE__INC__
#define __TEMPLATE__INC__
template < class T >
class CTemplate
{
private:
public:
CTemplate();
~CTemplate();
}
#endif
Archivo .cpp
#include "CTemplate.h"
CTemplate::CTemplate()
{
}
CTemplate::~CTemplate()
{
}
Si elimino el cpp, entonces no me da ningun error, pero yo quiero tener el .h y el .cpp. No se si alguien sabe porque me pasa esto y si me puede ayudar.
Muchas gracias.
-
Hola, perdon ya encontre la respuesta, la pongo aqui por si a alguien le ocrrue lo mismo.
En el archivo .cpp la definición de los metodos (funciones miembro) debe hacerse asi
template < class T > CTemplate<T>::CTemplate()
{
}
y asi con todas las definiciones de metodos de la clase.
Un saludo.