[C con Clase] Fwd: Errores de linkado de pila con templates

Steven Davidson steven en conclase.net
Mar Mar 13 19:23:00 CET 2007


Hola Tikitita,

El pasado 2007-03-13 17:12:31, tikitita escribió:

t> Hola chicos me estoy haciendo una calculadora de notacion infija  en la que
t> uso, una cola, una lista ordenada y una pila con templates. Al compilarlo
t> todo no me da ningun error, pero al linkarlo me dan 12 errores de pila...
t> tipo thiscall pila -> a las llamadas de las pilas... he probado a quitar los
t> templates pero solo he conseguido que me den mas errores en el main. Os
t> adjunto el codigo del cpp y del .h a ver si vosotros veis algo que yo no
t> veo.

Sin adentrarnos en la implementación de la pila en sí, el problema está en que separas el código de la plantilla (template). Debes escribir el código en el mismo fichero de cabecera. Ten presente que las plantillas son un "artilugio" del compilador para ayudar a los programadores. Sirven para generar código C++ para definir una clase o una función. Con esto quiero decir que no existen instrucciones del procesador que manejen plantillas. Por lo tanto, no se pueden compilar las plantillas.

La solución es o bien pasar todo el código pertinente a la plantilla bajo un mismo fichero o bien incluir el fichero "pila.cpp" en lugar de "pila.h".


Espero que esto te ayude.

Steven


Más información sobre la lista de distribución Cconclase