Registriert seit: 25. Apr 2012
7 Beiträge
|
AW: Übergebenes nil erkennen?
26. Apr 2012, 20:49
Whoa, was sich doch nicht alles aus einer einfachen Frage ergibt.
Der konkrete Anwendungsfall (über das Minimalbeispiel hinaus) war die Erstellung eines Binären Suchbaums (AVL).
type TKnoten=class(TObject)
rechts,links : TKnoten
...
end;
function hoehe(knoten:TKnoten) : integer;
begin
if knoten =nil then result:=0
else ...
end;
function balance(knoten : TKnoten) : integer;
begin
result:=hoehe(links)-hoehe(rechts);
end;
Das Warnsystem hat bei mir daher nicht angeschlagen (rechts,links werden ja benutzt) und Objektfelder werden anscheinend wie lokale Variablen behandelt.
Mittels
constructor create; override;
begin
inherited create;
rechts:=nil;
links:=nil;
end;
sollte ich dann aber sicher sein, oder?
Einzige Alternative wäre halt ne blöde Fallunterscheidung...
|