• Viernes 29 de Marzo de 2024, 13:33

Autor Tema:  Heap Overflow  (Leído 1156 veces)

H3ctor

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Heap Overflow
« en: Sábado 20 de Mayo de 2006, 19:28 »
0
Buenas tengo un problema en un programa en pascal, concretamente en el procedimiento de apilar, en una pila dinamica. En la primera ejecución del algoritmo me da el error de heap overflow, al hacer la reserva de memoria para la varia puntero new(p). Aquí os dejo el código , espero que sepais el fallo, gracias:

Procedure Apilar(var pila:tpPila; disco:integer;t1,t3,t2:char);
Var punt:tpPila;
Begin
new(punt);
punt^.sig:=pila;
punt^.disco:=disco;
pila:=punt

End;
Me falla en este punto:

Procedure X (var f:text; n:integer; ori,dest,aux:char);
var pila:tpPila;
Begin
Iniciapila(pila);
Apilar(pila,n,ori,dest,aux);

Por cierto la declaracion de tipos es la que sigue:
tpPila= ^TpNodo;
TpNodo=RECORD
disco:integer;
sig:tpPila
END;

Mushas gracias por adelantado.  :hola:

juancpalmajr

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
    • http://www.linuxcommunity.com.ar
Re: Heap Overflow
« Respuesta #1 en: Miércoles 24 de Mayo de 2006, 03:40 »
0
uuy eso me hizo acordar que tengo que repasar listas y punteros en pascal, mañana o pasado respondo. pero que codigo mas espantoso, usa indentacion y el tag CODE. Solo posteo para decir que se ve horrible.
jajaja no te me vayas a enfadar compañero.