0

Ada: „actual for „X“ must be a variable“

Gerade in Ada mit Free gebastelt und auf den Fehler gestoßen.

actual for „X“ must be a variable

Minimalbeispiel:

procedure Free is new Ada.Unchecked_Deallocation(Node, Node_Access);

procedure Test (N : Node_Access) is
begin
    Free(N);
end Test;

Der Fehler hat gar nichts mit der Free Funktion bzw. dem Aufruf zu tun, sondern N muss als „in out“ deklariert werden.

procedure Test (N : in out Node_Access) is
begin
    Free(N);
end Test;

Dann passt alles.



Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.