Ich stelle mich zu dumm an, denn ich verstehe bei euch beiden die Begründung nicht.
Mir geht es nicht darum die Warnung abzustellen, sondern zu verstehen
- ob der Compiler Recht hat
- ob ich Recht habe
wenn ich sage "
Das Ergebnis ist eindeutig definiert"
Noch kürzeres Beispiel:
Delphi-Quellcode:
function f(): Boolean;
begin
try
if (Random() > 0.5) then raise EProgrammerNotFound.Create(EmptyStr);
Result := False;
finally
//
end;
end;
Der Rückgabewert
kann doch hier überhaupt nicht undefiniert sein. Trotzdem meint der Compiler, es wäre nicht so.