Template Nodo

Iniciado por <<<-Basura->>>, 30 Abril 2014, 06:47 AM

0 Miembros y 1 Visitante están viendo este tema.

<<<-Basura->>>

Alguien podría decirme donde esta el error

Código (cpp) [Seleccionar]

#ifndef _NODO_H_
#define _NODO_H_

template <typename T>
class Nodo{
private:
T *objeto;
Nodo<T> *siguiente;
public:
Nodo<T>(T* pOjeto, Nodo<T*> pSiguiente);
};

#endif // !_NODO_H_



Código (cpp) [Seleccionar]


#include"Nodo.h"

template<typename T>
Nodo<T>::Nodo(T* pOjeto){

}
<<<--Basura-->>>

eferion

Los templates tienen que estar definidos e implementados SIEMPRE en el archivo de cabecera... no puedes poner implementación en un cpp.

La razón es que los templates se compilan sobre la marcha. Un template es un manual de instrucciones que permite crear clases... cada vez que el compilador se encuentra un uso del template que no existe aún, hace una compilación del template específica para ese uso... por esta razón se exige que los templates no tengan código en los cpp.

<<<-Basura->>>

Si tienes razon gracias
<<<--Basura-->>>