E2601 手続き NEW には '%s' というコンストラクタ識別子が必要ですが、宣言されていない識別子 '%s' が使用されています(Delphi)

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

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


このエラー メッセージは、New に渡されたパラメータ リスト内の識別子がコンストラクタでない場合に出力されます。

 type
   PObj = ^TObj;
   TObj = object
     FData: Integer;
     constructor Init;
   end;
 
 var
   R: PObj;
 
 constructor TObj.Init;
 begin
 end;
 
 begin
   New(R, Foo);  // issues E2601
 end.

New 標準関数にコンストラクタを渡すか、追加の引数を何も渡さないようにしてください。

 type
   PObj = ^TObj;
   TObj = object
     FData: Integer;
     constructor Init;
   end;
 
 var
   R: PObj;
 
 constructor TObj.Init;
 begin
 end;
 
 begin
   New(R, Init); // ok
 end.

関連項目