【发布时间】:2011-09-15 10:42:45
【问题描述】:
只是一个问题,我有:
myclass = class
public
function Funct1: String;
function Funct2: Integer;
end;
这让我出错了,所以我尝试了:
myclass = class
public
function Funct1: String; overload;
function Funct2: Integer; overload;
end;
但同样的问题; delphi 告诉我有相同的参数。 现在,我问,是否可以在模式下执行更多具有相同名称但输出不同的功能,例如示例? 非常感谢您的帮助。
更新
对不起,我做错了,不是funct1和funct2,而是funct1,所以:
myclass = class
public
function Funct1: String; overload;
function Funct1: Integer; overload;
end;
这样做,编译器会返回这个错误:
[DCC 错误] Project1.dpr(15): E2252 具有相同参数的方法“funct1”已存在 [DCC 错误] Project1.dpr(22): E2037 'funct1' 的声明与之前的声明不同
当然,我知道因为给出错误并且需要将名称更改为两个函数之一(因为我之前对此感到困惑)但我想知道是否有一些技巧或其他解决方案可以让这种情况没有错误。 再次感谢。
【问题讨论】:
-
原则上编译器可以做你想做的事,在某些情况下。您的字符串和整数示例处理起来很简单。但该功能并未实现。
-
IMO,你试图完成的事情不会有用,会让你的代码更难维护,而且似乎有悖常理。
标签: delphi overloading delphi-xe2