[sr-dev] git:andrei/rve_f_params: NEWS: notes about expressions in function parameters

Andrei Pelinescu-Onciul andrei at iptel.org
Fri Aug 13 13:22:22 CEST 2010


On Aug 13, 2010 at 13:14, Klaus Darilion <klaus.mailinglists at pernau.at> wrote:
> 
> 
> Am 13.08.2010 11:11, schrieb Andrei Pelinescu-Onciul:
> >The '+' operator is special in the sense that it converts its right
> >operand to the type of the left operand and the result also has the type
> >of the left operand. The other operators force conversion
> >and always have a fixed return type (e..g '*' converts both of its
> >operands to int and always returns int).
> >
> >More examples:
> >
> >"1" + 2 = "12"
> >1 + "2"  =>  error
> >"1" + "2" = "12"
> >
> >"1" * 2 =>  error
> >1 * "2" =>  error
> >"1" * "2" =>  error
> 
> Why are these errors? You said "The other operators force conversion"

Sorry I should have said "expects and converts only if '+' and target
type is string". strings are never converted to integers unless an
explicit cast is used (e.g. (int)"1").


Andrei



More information about the sr-dev mailing list