Kann mir jemand folgendes Verhalten erklären?
uses System.Generics.Collections;
Prozedur
p1
wirft eine
Access Violation,
p2
hingegen eine Floating point invalid operation. Warum? Da ist doch kein Unterschied!
Delphi-Quellcode:
procedure p1();
type
TFloat = type Single;
var
values: TArray<TFloat>;
begin
values := [1.0, Single.Nan, 2.0];
TArray.Sort<TFloat>(values);
end;
procedure p2();
type
TFloat = Single;
var
values: TArray<TFloat>;
begin
values := [1.0, Single.Nan, 2.0];
TArray.Sort<TFloat>(values);
end;