E2065 forward または external 宣言された '%s' が見つかりません (Delphi)

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

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

このエラーメッセージはクラス型やオブジェクト型の中に手続きや関数の forward 宣言または external 宣言があるか,メソッドの宣言があるにもかかわらず,その手続き,関数,メソッドがどこにも定義されていないときに表示されます。

実際に定義が欠落しているか,定義名のスペルが間違っている可能性があります。

ユニットのインターフェース部での手続き宣言または関数宣言は forward 宣言と同じです。実現部に実装コード(手続きまたは関数の本体)を与えなければなりません。

同様に,クラス型またはオブジェクト型の中でのメソッド宣言も forward 宣言と同じです。


program Produce;

type
  TMyClass = class
  constructor Create;
  end;

function Sum(const a: array of Double): Double; forward;

function Summ(const a: array of Double): Double;
var
  i: Integer;
begin
  Result := 0.0;
  for i:= 0 to High(a) do
  Result := Result + a[i];
end;

begin
end.

{ この Sum の定義では簡単にタイプミスが見つかる }


program Solve;

type
  TMyClass = class
  constructor Create;
  end;

constructor TMyClass.Create;
begin
end;

function Sum(const a: array of Double): Double; forward;

function Sum(const a: array of Double): Double;
var
  i: Integer;
begin
  Result := 0.0;
  for i:= 0 to High(a) do
  Result := Result + a[i];
end;

begin
end.

{ 対処法:すべての手続き,関数,メソッドの定義が存在することを確認し,スペルを正しく入力する必要がある }