In RB, there is a very silly bug.
RB treats overloaded operators as equally valid, compared to other
functions! ARGH!
If there is ONE non-operator function that is valid, but 1 or 200 or
however many operator functions valid, ONLY the NON-OPERATOR function
should be called.
But RB doesn't do this :(
What happens is that you get things like this:
class bla
function ABC(s as string)
function ABC(b as bla)
function operator_convert() as string
end class
dim a, b as bla
a = new bla
b = new bla
b.ABC( a ) // RB won't like this line!
Why? Because .ABC here, may take a string, or a bla class.
But there is an operator_convert to a string. So it doesn't know
which ABC should be called :(
So stupid. Because operator_convert is an implicit feature, heavily
discouraged, and should never take precedence.
I mean, imagine doing some lines like this:
dim a, b, c as integer
a = b*a+c
And RB saying "sorry, RB doesn't understand anything about precdence,
and can't compile this line".
:(
operator_convert should take the lowest precedence, just like
subtraction should take the lowest precedence.
--
http://elfdata.com/plugin/
"String processing, done right"
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>