为什么不能对类使用运算符重载?

科夫帕耶夫·阿列克谢

我在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)

一些有用的解释

PS TDateTime是用户类型的错误名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么不能重载三元运算符?

来自分类Dev

使用指针成员变量在类中重载+运算符

来自分类Dev

为什么需要运算符重载?

来自分类Dev

重载下标运算符时为什么要使用const int参数?

来自分类Dev

运算符-类重载

来自分类Dev

microsoft为什么不为stringbuilder重载+ =运算符?

来自分类Dev

为什么Java 7 Diamond运算符不能与匿名类一起使用?

来自分类Dev

不能使用重载的运算符<<打印对象的值

来自分类Dev

使用模板类重载[]运算符时遇到的问题

来自分类Dev

为什么__getattr__能够处理Python 2.x中的内置运算符重载,但不能处理Python 3.x中的内置重载符?

来自分类Dev

为什么std :: map重载运算符<不使用Compare

来自分类Dev

为什么我不能将此运算符重载放在与结构相同的名称空间中?

来自分类Dev

为什么我不能重载::运算符?

来自分类Dev

为什么我的重载运算符返回零?

来自分类Dev

为什么我不能将C ++转换运算符作为非成员函数重载于类之外?

来自分类Dev

使用模板类在C ++中重载运算符

来自分类Dev

为什么我的重载乘法运算符无法识别?

来自分类Dev

类的=运算符重载

来自分类Dev

为什么我不能对std :: ofstream使用运算符bool()

来自分类Dev

为什么在运算符重载中需要引用?

来自分类Dev

<<重载运算符,为什么它不能仅返回类类型(无参考)

来自分类Dev

运算符重载使用operator +作为类模板

来自分类Dev

进行运算符重载时,为什么不能在类内使用print函数?

来自分类Dev

运算符-类的重载

来自分类Dev

为什么不使用运算符重载方法初始化返回的对象?

来自分类Dev

使用模板类在C ++中重载运算符

来自分类Dev

为什么此运算符重载起作用?

来自分类Dev

c ++ - 使用模板类重载友元运算符

来自分类Dev

不能为我自己的类重载运算符 <<

Related 相关文章

  1. 1

    为什么不能重载三元运算符?

  2. 2

    使用指针成员变量在类中重载+运算符

  3. 3

    为什么需要运算符重载?

  4. 4

    重载下标运算符时为什么要使用const int参数?

  5. 5

    运算符-类重载

  6. 6

    microsoft为什么不为stringbuilder重载+ =运算符?

  7. 7

    为什么Java 7 Diamond运算符不能与匿名类一起使用?

  8. 8

    不能使用重载的运算符<<打印对象的值

  9. 9

    使用模板类重载[]运算符时遇到的问题

  10. 10

    为什么__getattr__能够处理Python 2.x中的内置运算符重载,但不能处理Python 3.x中的内置重载符?

  11. 11

    为什么std :: map重载运算符<不使用Compare

  12. 12

    为什么我不能将此运算符重载放在与结构相同的名称空间中?

  13. 13

    为什么我不能重载::运算符?

  14. 14

    为什么我的重载运算符返回零?

  15. 15

    为什么我不能将C ++转换运算符作为非成员函数重载于类之外?

  16. 16

    使用模板类在C ++中重载运算符

  17. 17

    为什么我的重载乘法运算符无法识别?

  18. 18

    类的=运算符重载

  19. 19

    为什么我不能对std :: ofstream使用运算符bool()

  20. 20

    为什么在运算符重载中需要引用?

  21. 21

    <<重载运算符,为什么它不能仅返回类类型(无参考)

  22. 22

    运算符重载使用operator +作为类模板

  23. 23

    进行运算符重载时,为什么不能在类内使用print函数?

  24. 24

    运算符-类的重载

  25. 25

    为什么不使用运算符重载方法初始化返回的对象?

  26. 26

    使用模板类在C ++中重载运算符

  27. 27

    为什么此运算符重载起作用?

  28. 28

    c ++ - 使用模板类重载友元运算符

  29. 29

    不能为我自己的类重载运算符 <<

热门标签

归档