微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

内置数据类型和枚举的运算符重载

如何解决内置数据类型和枚举的运算符重载

Delphi 中的枚举是否可以重载隐式类型转换?

program TriState;

type
  TTrilean = (trNone = -1,trFalse = 0,trTrue = 1);
  TTrileanHelper = record helper for TTrilean
  public
    class operator Implicit(...)...; //E2123 PROCEDURE,FUNCTION,PROPERTY,or VAR expected
  end;

var
  v: TTrilean;

begin
  v := trNone;
  v := True; //Would like to have class operator Implicit here
end.

解决方法

Delphi 10.4.2 documentation中我读到:

注意:类和记录助手不支持运算符重载。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。