Delphi过载程序

7
我希望你能在一个类中重载一个过程。为此,我写了以下代码:
type 

  TMyClass = class(TObject)
  private...
  ...
  public 
   constructor create;
   destructor destroy;
   procedure dosomething(filename: string); overload;
   procedure dosomething(s: string; t: string; u: string); overload;


implementation

  procedure dosomething(filename:string);
  begin
  end;

  procedure dosomething(s: string; t: string; u: string);
  begin
  end;

但是Delphi告诉我有关前向或外部声明错误的错误...为什么会这样呢?提前感谢!
2个回答

12
您需要添加类名...
implementation   

procedure TMyClass.dosomething(filename:string);    
begin    
end;

procedure TMyClass.dosomething(s: string; t: string; u: string);    
begin    

end;

2

这个错误提示可能是告诉您缺少了构造函数和析构函数的实现。下面的程序能够编译通过:

program Project1;

{$APPTYPE CONSOLE}

type TMyClass = class(TObject)
  public
    procedure doSomething(const Filename: string); overload;
    procedure doSomething(const s, t, u: string); overload;
end;

{$R *.res}

{ TMyClass }

procedure TMyClass.doSomething(const Filename: string);
begin

end;

procedure TMyClass.doSomething(const s, t, u: string);
begin

end;

begin
  writeln('blubb');
end.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接