Bonjour,
Voici la procédure que j'ai écrite pour mettre bout à bout 2 listes d'entiers L et L2. En sortie, je veux que L contienne la concaténation de L et L2
Je défini avant un type cellule
Code :
type Cellule ; type Liste is access Cellule ; type Cellule is record --on définit ici le type cellule qui sera utilisé par la suite Val: Natural ; Suiv: Liste ; end record ;
|
Puis voici le code de ma procédure
Code :
procedure Abouter(L:in out Liste ; L2: in Liste) is --permet de concaténer deux listes Pcour:Liste:=L; --en sortie : L:=L@L2 temp:Liste; begin while Pcour/=null loop Temp:=Pcour; Pcour:=Pcour.Suiv; end loop; --ici, temp vaut le dernier pointeur non nul de la liste L Temp.suiv:=L2; -- c'est ici que j'obtiens un "access checked failed" car manifestement le fait que Temp.suiv vaut null ne plait pas end Abouter;
|
Merci pour votre aide
Message édité par lebest le 26-12-2007 à 17:00:38