Delphi中的错误重载过程

Raz*_*r66 3 delphi overriding overloading

出于某种原因,我现在收到此错误'[DCC错误] MyFile.pas(52):E2137方法'分配'在基类中找不到'.这是我的Assign程序的一部分,在我添加一个,最后一个Assign之前一直工作正常.

procedure Assign(MyClass: TMyClass); overload; override;
procedure Assign(MyClass: ThisService.MyClass); overload; override;
procedure Assign(MyClass: ThatService.MyClass); overload; override;
procedure Assign(MyClass: TXMLMyClass); overload; override;
procedure Assign(MyClass: pbStruct1Messages.TMyRecord); overload; override;
procedure Assign(MyClass: pbStruct2Messages.TMyRecord); overload; override;
Run Code Online (Sandbox Code Playgroud)

Rob*_*edy 5

当您使用时override,您说您使用从父类继承的相同签名覆盖虚拟方法.如果父类没有带有该签名的虚方法,那么编译器会正确地抱怨它无法找到它.

检查祖先类以确认该方法确实存在.如果它不存在,则不要在后代类中标记一个override.