是否可以在Delphi 6中添加自定义运算符? 例如:a:= b myoperator c; 并定义其优先顺序? 感谢
答案 0 :(得分:3)
您无法定义运算符。您可以重载现有的运算符,例如加法,减法,乘法等。但仅限于最近的Delphi版本,来自Delphi 2006,但不适用于Delphi 6.
您无法指定运算符优先级。这是由语言规范修复的。即使重载运算符,它们的优先级也与内置运算符相同。
答案 1 :(得分:3)
在Delphi 6中,你根本不能重载运算符,抱歉。
但是即使在支持运算符重载的较新版本中,您也只能重载现有的运算符,这些运算符可以保持运算符的优先级。
请注意,在大多数支持它的版本中,这仅适用于记录。只有在使用ARC的一些较新的(移动)编译器中,您也可以在类上重载运算符。
但同样,您无法定义新的运算符。
如果您的意思是Delphi XE6 ,那么请查看:Operator overloading (Delphi)。这解释了Delphi 10 Seattle的运算符重载,但XE6也是如此。