E2034 実パラメータが多すぎます (Delphi)
エラーと警告のメッセージ(Delphi) への移動
このエラーメッセージは,手続きまたは関数の呼び出しで手続き宣言または関数宣言に指定したより多いパラメータを指定したときに表示されます。
OLE オートメーション呼び出しでパラメータが多すぎる(255 を超える)場合や名前付きパラメータが多すぎる場合にも,このエラーメッセージが表示されます。
program Produce; function Max(A,B: Integer): Integer; begin if A > B then Max := A else Max := B end; begin Writeln( Max(1,2,3) ); (*<-- ここでエラーメッセージ*) end.
{ Max が 3 つのパラメータを受け入れるようにしておけばよかったが...
program Solve; function Max(const A: array of Integer): Integer; var I: Integer; begin Result := Low(Integer); for I := 0 to High(A) do if Result < A[I] then Result := A[I]; end; begin Writeln( Max([1,2,3]) ); end.
{ 通常は正しい数のパラメータが供給されるような呼び出しに変更する。しかし,ここでは Max に無制限の数の引数を実装する方法を示す。Max をやや異なる方法で呼び出さなければならない点に注意する必要がある }