Hallo zusammen ,
man kann ja Variablen
"by value" - > proc( a : Integer; b: Real);
oder
"by reference" -> proc (var a: Integer; var b: Real);
übergeben- und ich brauche den obigen Fall, dass ich also eine Variable an eine Prozedur
übergebe, diese Variable dann innerhalb der Prozedur verändere, und sie aber ausserhalb
der Prozedur unverändert bleibt:
Delphi-Quellcode:
....
a := StrToInt(Edit1.Text);
start_perm := zufallsperm(a);
max_c := c_func(start_perm);
l := length(start_perm);
while (not local_max) do
begin
for um_a:=0 to (l-2) do
begin
for um_b:= um_a+1 to (l-1) do
begin
umgebungssuche(start_perm,um_a,um_b);
end;
end;
....
Es geht hier um den Aufruf der Prozedur 'umgebungssuche' . Ich übergebe die Variable start_perm (vom Typ array of Integer);
diese wird dann innerhalb von 'umgebungssuche' verändert. Ich möchte nun, dass im nächsten Durchlauf erneut die ursprüng-
liche start_perm genommen wird, jedoch sehe ich beim durchdebuggen, dass die veränderte start_perm genommen wird. Ich über-
gebe jedoch "by value"--- Wo ist mein Denkfehler bzw. das Problem.. ich verzweifele echt gerade.
Wäre euch sehr dankbar für Hilfestellungen.
Gruß