Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Error de compilación

Estas en el tema de Error de compilación en el foro de C/C++ en Foros del Web. Buenas a todos/as, LLevo varios días con un problema de compilación en C++ al utilizar una plantilla para implementar una lista enlazada. Tengo creada la ...
  #1 (permalink)  
Antiguo 02/12/2007, 05:17
 
Fecha de Ingreso: noviembre-2005
Ubicación: Alicante (España)
Mensajes: 242
Antigüedad: 18 años, 5 meses
Puntos: 1
Error de compilación

Buenas a todos/as,

LLevo varios días con un problema de compilación en C++ al utilizar una plantilla para implementar una lista enlazada.

Tengo creada la plantilla <TIPO> para la clase Nodo y para la Clase Lista.
Ambas clases compilan bien y pienso que el código es correcto.

Por otra parte tengo una clase Cliente y pretendo realizar una listas de clientes usando las 3 clases.

En el main tengo el siguiente Código:

int main(int argc, char* argv[])
{
Cliente *cliente = new Cliente ("Pepe");
Lista <Cliente> lista;
lista.insertarAlPrincipio(*cliente);

cout << "DNI" << lista.daInicio().daDNI() << endl;

return 0;
}


se supone que la función daInicio() de la clase Lista devuelve un objeto TIPO. Esta es la función:

template <class TIPO>
TIPO Lista<TIPO>::daInicio() {
return this->inicio;
}


cuando escribo lista.daInicio(). nada más escribir el punto me aparece un cuadro (utilidad del Borland) con todos los métodos de la clase Cliente. Es decir, el compilador sabe que el objeto devuelto por la función daInicio() es de tipo Cliente...
Pero al compilar el proyecto me da un error:

[C++ Error] Lista.cpp(46): E2034 Cannot convert 'Nodo<Cliente> *' to 'Cliente'

Y no sé qué hacer... He probado a definir la lista así:
Lista <Cliente *> lista; pero nada... sigue fallando... Alguien sabe de qué se está quejando el compilador y como puedo arreglarlo?... Muchas gracias.
  #2 (permalink)  
Antiguo 02/12/2007, 09:04
 
Fecha de Ingreso: enero-2005
Mensajes: 93
Antigüedad: 19 años, 4 meses
Puntos: 1
Re: Error de compilación

mira a ver si poniendo "lista.insertarAlPrincipio(cliente);" se arregla, sin el asterisco
__________________
أת٥ד ﻪو٧٤ ٣أﮐ
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:18.