E2079 New 手続きはコンストラクタが必要です (Delphi)
エラーと警告のメッセージ(Delphi) への移動
このエラーメッセージは New へのパラメータリストの中で指定した識別子がコンストラクタでないときに表示されます。
program Produce; type PMyObject = ^TMyObject; TMyObject = object F: Integer; constructor Init; destructor Done; end; constructor TMyObject.Init; begin F := 42; end; destructor TMyObject.Done; begin end; var P: PMyObject; begin New(P, Done); (*<-- ここでエラーメッセージ*) end.
{ 不注意からコンストラクタでなくデストラクタを指定して New を呼び出した }
program Solve; type PMyObject = ^TMyObject; TMyObject = object F: Integer; constructor Init; destructor Done; end; constructor TMyObject.Init; begin F := 42; end; destructor TMyObject.Done; begin end; var P: PMyObject; begin New(P, Init); end.
{ New 標準関数には必ずコンストラクタを指定するか,追加引数をまったく指定しないようにする }