Martin schrieb:
http://www.freepascal.org/docs-html/ref/refse68.html#x164-17400012.3

the first ( of several) examples on that page is

Var
  C,Z : Complex; // New type complex

What's "new" with that type? Where is it declared?

begin
  Z:=C;  // assignments between complex types.
end;

The following assignment operator would have to be defined:

Operator := (C : Complex) z : complex;

However, the compiler rejects that with:
project1.lpr(10,38) Error: Impossible to overload assignment for equal types

The example doesn't declare an new type "Complex", so that most probably that already existing type already *has* operators - and accordingly the compiler doesn't allow to redefine these operators.

What happens if you declare an really new type, e.g. TNewComplex, and try again with this type?

It looks to me as if that page should be revised. A reference to the already defined Complex operators should be added, and the following sections may need an update as well, in detail the "experimental solution" also may have changed in the meantime.

DoDi

_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to