Gibt es irgendeine Möglichkeit, dass der Compiler mich warnt wenn ich folgendes tue:
Nein, gibt es nicht.
Interface-Variablen sind ja, wie schon genannt, immer initialisiert,
also gibt es da nichts zu meckern, weil es das ja schon ist.
Auch wenn das mit dem Result leider ein Sonderfall ist, denn was wird nicht in der Funktion initialisiert, sondern beim Aufrufer. (das Result wird
hier, bei diesen Typen, in einen VAR-Parameter umgewandelt)
> dyn. Array, String, Interface und Variant
Und es macht Spaß, wenn die Funktion in einer Schleife aufgerufen wird.
Delphi-Quellcode:
function Mist: string;
begin
Result := Result + 'a';
end;
for i := 1 to 5 do
S := Mist; // oder S := S + Mist;
ShowMessage(S);