我在TDateTime中遇到类运算符的问题。
type
TDateTime = class(TObject)
public
class operator Add(a: TDateTime; b: TTimeSpan): TDateTime;
class operator Subtract(a: TDateTime; b: TTimeSpan): TDateTime;
end;
implementation
class operator TDateTime.Add(a: TDateTime; b: TTimeSpan): TDateTime;
begin
result := TDateTime.Create(a.Ticks + b.Ticks);
end;
class operator TDateTime.Subtract(a: TDateTime; b: TTimeSpan): TDateTime;
begin
result := TDateTime.Create(a.Ticks - b.Ticks);
end;
错误发生在第四行
E2123预期的过程,功能,属性或VAR
我为Windows编写此代码。但是,如果仅适用于.net和iOS,我该如何针对Windows?
最佳答案
可以仅对记录使用运算符重载,而对于Windows Delphi中的类不能使用运算符重载。
http://docwiki.embarcadero.com/RADStudio/Rio/en/Operator_Overloading_(Delphi)
Some useful explanations
附言TDateTime是用户类型的错误名称。
关于delphi - 为什么不能对类使用运算符重载?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22541928/