beim Umsetzen eines C-Codes nach Pascal ist mir grade etwas aufgefallen,
Ist der Rückkabewert einer Funktion evtl. undefiniert, gibt es keinen Warning.
Folgender Code ist eindeutig und es gibt auch den Warning:
Code: Alles auswählen
function Test(x:Integer):Integer;
begin
end;
Bei folgendem Code kann das Ergebnis jedoch undefiniert sein,
da bekomme ich keine Rückmeldung.
Könnte das der Compiler überhaupt feststellen ? (statische Code Analyse)
Code: Alles auswählen
function Test(x:Integer):Integer;
begin
if x = 13 then result:=1;
end;
Tests ergaben, dass das result dann 0 ist.
Ist das zufällig oder generell so ?
Lazarus 2.2.0 (rev lazarus_2_2_0) FPC 3.2.2 x86_64-win64-win32/win64