Problema com apontadores

20/01/2004

0

Estou fazendo uma lista encadeada mas um erro de execucao ocorre quando o comando new(apontador) é executado. O codigo está abaixo.
Eu tenho este codigo em C++ e a unica diferenca é que a classe node nao é aninhada a classe Lista. Eu nao sei fazer classe aninhada em Pascal. Isto pode ser o motivo do erro. Obrigado.

procedure TLista.FLVazia;
begin
new(Inicio);//Inicia a lista com um Node = 0
Inicio:=Fim;
Inicio^.NextPtr:=nil;
end;

A estrutura da classe é esta

type Node=class;//forward
apontador=^Node;

Node = class
private
data:integer;
NextPtr:apontador;
public
constructor Node();
procedure SetData(item:integer);
function GetData:integer;
procedure SetNextPtr(aptr:apontador);//Faz com que o NextPtr aponte para o aptr
function GetNextPtr:apontador;//Retorna o apontador que o nextptr aponta
end;

type TLista = class
private
Inicio:apontador;
Fim:apontador;
public
function GetFim():apontador;
function GetInicio():apontador;
procedure FLVazia();
procedure InsereNoFinal(dat:integer);
procedure RetiraUltimo();
procedure Insere(dado:integer;posicao:integer);
procedure Retire(posicao:integer);
end;


Cristianoar

Cristianoar

Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar