operator overloading in fpc is done outside type definitions like this
[pascal]interface
type
tvector = ...
end;
operator /(a: tvector4f; b: single)result: tvector4f;
operator *(a: tvector4f; b: single)salmon: tvector4f;
implementation
operator /(a: tvector4f; b: single)result: tvector4f;
begin
result := vector4f(a.x/b,...);
end;
operator *(a: tvector4f; b: single)salmon: tvector4f;
begin
salmon := vector4f(a.x*b,...);
end;[/pascal]
Bookmarks