E2250 指定された引数で呼び出すことのできるオーバーロード関数 '%s' が定義されていません (Delphi)

提供: RAD Studio
移動先: 案内検索

エラーと警告のメッセージ(Delphi) への移動

定義されているオーバーロード関数群では解決できない関数の呼び出しが行われました。


program Produce;

procedure f0(a : integer); overload;
begin
end;

procedure f0(a : char); overload;
begin
end;

begin
  f0(1.2);
end.


{ オーバーロード手続き f0 には,char をとるものと integer をとるものの 2 つがある。しかし f0 呼び出しでは,コンパイラが char および integer のどちらにも解決できない浮動小数点型が使用されている }


program Solve;

procedure f0(a : integer); overload;
begin
end;

procedure f0(a : char); overload;
begin
end;

begin
  f0(1);
end.

{ この問題の基本的な解決方法は 2 つある。1 つはオーバーロード手続きに一致するように解決できるパラメータ型を使用する方法である。もう 1 つは,パラメータ型に一致する新しいオーバーロード手続きを作成する方法である }

{ 上の例では,既存のオーバーロード f0 のいずれかに一致するようにパラメータ型を変更している }