E2273 Es existiert keine überladene Version von '%s' mit dieser Parameterliste (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Es wurde versucht, eine überladene Prozedur aufzurufen. Es wurde aber keine geeignete Übereinstimmung gefunden.


program overload;
  procedure f(x : Char); overload;
  begin
  end;

  procedure f(x : Integer); overload;
  begin
  end;

begin
  f(1,0);

end.


So wie in diesem Beispie 'f' verwendet wird, kann der Compiler (mithilfe der Regeln für die Typkompatibilität und das Überladen) keine geeignete Übereinstimmung für den eigentlichen Parameter 1.0 finden.



program overload;
  procedure f(x : char); overload;
  begin
  end;

  procedure f(x : integer); overload;
  begin
  end;

begin
  f(1);
end.


Hier wurde der Aufruf von 'f' geändert und es wird ein Integer-Typ als eigentlicher Parameter übergeben. Dadurch kann der Compiler eine geeignete Übereinstimmung finden. Ein anderes Vorgehen zur Lösung dieses Problems wäre, einen neue Prozedur anzulegen, die einen Gleitkommaparameter übernimmt.