Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#1

TArray.BinarySearch<TData> in generischem Record

  Alt 7. Okt 2022, 21:09
Delphi-Version: 11 Alexandria
Delphi-Quellcode:
type
  TDataList<TData> = record
  private
    FPos: NativeInt;
    FLen: NativeInt;
    FData: TArray<TData>;
    FComp: IComparer<TData>;
  public
    procedure Push(const Data: TData);
  end;

procedure TDataList<TData>.Push(const Data: TData);
begin
  var i: NativeInt;
  TArray.BinarySearch<TData>(FData, Data, i, FComp, FPos, FLen);
end;
Das ist der Auszug einer Typs.
Eigentlich müssten doch die Typen übereinstimmen, aber im 11.2 kommt immer nur
Zitat:
[dcc32 Fehler] E2250 Es gibt keine überladene Version von 'TArray.BinarySearch<Unitname.TDataList<TData>.TData>', die man mit diesen Argumenten aufrufen kann
Die letzten 3 Parameter kann man bestimmt ignorieren, denn auch durch ersetzen mit nil, 0, 1 ändert sich nichts.
Sowie den ersten Array-Parameter kann ich durch nil ersetzen und es kommt die gleiche Meldung.

Der Compiler landet auf der abschließenden );
und ErrorInsight markiert vorne das TData> .



Also eigentlich müsste doch alles richtig sein, oder doch nicht?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 7. Okt 2022 um 21:14 Uhr)
  Mit Zitat antworten Zitat