Exception SigSegv avec TQueue.push(pointeur)
Bonjour,
J'ai besoin de stocker dans une file de type TQueue une suite de dix entiers.
TQueue.push demande un pointeur. J'ai donc testé
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| type
PInteger = ^integer; //PInteger est un type "pointeur d'entiers"
var
Pointeur : PInteger; //Pointeur est de type PInteger
maFile : TQueue;
i : integer;
begin
maFile.Create;
writeLn ( 'on enfile ... ');
new(Pointeur); // Création du pointeur
for i:= 1 to 10 do
begin
writeLn( i );
Pointeur^ := i; // L'élément pointé reçoit la valeur de i
maFile.push(Pointeur); // Et on fait avancer la file
end;
dispose(Pointeur); //Suppression du pointeur
end. |
... qui me fait un beau SigSegv. Là, je ne comprends pas. Puis-je avoir un début d'explication ?