Pila enlazada en delphi (Problema con apuntadores)
Publicado por Desve (1 intervención) el 29/03/2005 09:45:54
Estoy trabajando en una pila con listas enlazadas y tengo el siguiente problema
declaro de esta forma la estructura
TNodo=^NodoPila;
NodoPila=RECORD
elemento:integer;
enlace:TNodo;
END;
El problema radica en que
Cima,AUX:^NodoPila;
para los trabajos de insercion y sacar, etc.
y al momento de insertar (este es el codigo)
new(AUX);
AUX^.elemento:=n;
AUX^.enlace:=Cima; <----------- me marca error en esta linea
Cima:=AUX;
lanza un comentario diciendo que son imcompatibles, (supongo que por que uno esta declarado como TNodo y otro Por ^NodoPila).
Entonces para corregir eso yo pensaba era declarar de esta manera para que los tipos de datos sean compatibles, pero el compilador me regresa error. (esto lo habia intentado desde el inicio al declarar la pila pero me lanzaba error, aunque insisto que seria la forma logica de declarar)
NodoPila=RECORD
elemento:integer;
enlace:^NodoPila;
END;
El problema es que al asignar ahi me lanza error y no se de que manera corregirlo, Espero que alguien me pueda ayudar.
Gracias de antemano
(Desve).
declaro de esta forma la estructura
TNodo=^NodoPila;
NodoPila=RECORD
elemento:integer;
enlace:TNodo;
END;
El problema radica en que
Cima,AUX:^NodoPila;
para los trabajos de insercion y sacar, etc.
y al momento de insertar (este es el codigo)
new(AUX);
AUX^.elemento:=n;
AUX^.enlace:=Cima; <----------- me marca error en esta linea
Cima:=AUX;
lanza un comentario diciendo que son imcompatibles, (supongo que por que uno esta declarado como TNodo y otro Por ^NodoPila).
Entonces para corregir eso yo pensaba era declarar de esta manera para que los tipos de datos sean compatibles, pero el compilador me regresa error. (esto lo habia intentado desde el inicio al declarar la pila pero me lanzaba error, aunque insisto que seria la forma logica de declarar)
NodoPila=RECORD
elemento:integer;
enlace:^NodoPila;
END;
El problema es que al asignar ahi me lanza error y no se de que manera corregirlo, Espero que alguien me pueda ayudar.
Gracias de antemano
(Desve).
Valora esta pregunta


0