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

Ayuda error conversión de lista* a nodo*

Estas en el tema de Ayuda error conversión de lista* a nodo* en el foro de C/C++ en Foros del Web. Tengo un programa de listas enlazadas y llevo toda la tarde intentando solucionar este error...os dejo las clases y el metodo donde me da error ...
  #1 (permalink)  
Antiguo 13/03/2011, 15:39
 
Fecha de Ingreso: marzo-2011
Mensajes: 6
Antigüedad: 13 años, 1 mes
Puntos: 0
Ayuda error conversión de lista* a nodo*

Tengo un programa de listas enlazadas y llevo toda la tarde intentando solucionar este error...os dejo las clases y el metodo donde me da error

Código C++:
Ver original
  1. #include "cFraccion.h"
  2. #include "Lista.h"
  3.  
  4. class Nodo{
  5.     private:
  6.         cFraccion fraccion;
  7.         Nodo*sig;
  8.  
  9. };

Código C++:
Ver original
  1. #include "Nodo.h"
  2.  
  3. class Lista{
  4.    
  5.     private:
  6.         Lista*pinicio;
  7. };

Código C++:
Ver original
  1. En el archivo .cpp de Lista tengo un metodo que me devuelve la longitud de una lista
  2.  
  3. int Lista::longitud(){
  4.     int cont = 0;
  5.     Nodo *p = pinicio ; //LINEA DEL ERROR
  6.    
  7.    
  8.     while(p!=NULL){
  9.         cont++;
  10.         p=p->siguiente();
  11.     }
  12.     return cont;
  13. }

Al compilar me aparece el siguiente error
error C2440: 'inicializando' : no se puede realizar la conversión de 'Lista*' a 'Nodo*'

Lo he cambiado mil veces...no se puede ser....alguna sugerencia?

Saludos
  #2 (permalink)  
Antiguo 13/03/2011, 16:26
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Ayuda error conversión de lista* a nodo*

Pero pinicio lo declaraste como un puntero a Lista, y luego tratas de asignárselo a un puntero a Nodo. Si esa fue tu intención desde un principio, creo que reinterpret_cast te puede ayudar, pero si esa no fue tu intención, cambia Lista * pinicio; a Nodo * pinicio.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 14/03/2011, 05:54
 
Fecha de Ingreso: marzo-2011
Mensajes: 6
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Ayuda error conversión de lista* a nodo*

Cita:
Iniciado por spider_boy Ver Mensaje
Pero pinicio lo declaraste como un puntero a Lista, y luego tratas de asignárselo a un puntero a Nodo. Si esa fue tu intención desde un principio, creo que reinterpret_cast te puede ayudar, pero si esa no fue tu intención, cambia Lista * pinicio; a Nodo * pinicio.
Muchisimas gracias!
Use el reinterpret_cast y se soluciono el problema

Etiquetas: lista, nodo
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 01:52.