![]() |
AW: UInt64 Zuweisung an Integer, keine Warnung, Waum?
Joar, aber manchmal wäre es schon nett, wenn potentielle Fehler wegen nichtinitialisierter Results kämen.
Delphi-Quellcode:
bzw.
function Test(S: string): string;
begin //Result := ''; // nicht initialisert for var C in S do Result := Result + C; // aka Result := S; end; procedure TForm16.FormCreate(Sender: TObject); var S: string; begin for var i := 1 to 5 do S := Test('Abc'); ShowMessage(S); end;
Delphi-Quellcode:
oder
procedure TForm16.FormCreate(Sender: TObject);
var S: string; begin S := Test('Abc'); S := Test('Abc'); S := Test('Abc'); ShowMessage(S); end;
Delphi-Quellcode:
Tja, was würde man nun im Ausgang erwarten?
procedure TForm16.FormCreate(Sender: TObject);
var S: string; begin S := Test('Abc'); ShowMessage(S); S := Test('Abc'); ShowMessage(S); S := Test('Abc'); ShowMessage(S); end; -> Einmal das, was Test macht, nichtwar? |
AW: UInt64 Zuweisung an Integer, keine Warnung, Waum?
Zitat:
Für mich ist es noch ein grosser Unterschied ob etwas initialisiert wie ich es nicht denke aber immer gleich ist - oder ob die Wert gar nicht initialisiert sind und sie also zufällig sind und z.B. davon abhängen was gerade auf dem Stack so rumliegt. Das sind dann so Fehler die erst nach Monaten oder Jahren erscheinen weil irgend jemand woanders im Code etwas geändert hat oder man von 32 auf 64-Bit wechselt. Die Fehler wegen vermeintlich nicht initialisierter Results merkt man dann entweder sofort oder auch nie. :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz