literals
Fawzi Mohamed
fawzi at gmx.ch
Sun Mar 28 07:18:20 PDT 2010
On 28-mar-10, at 15:03, so wrote:
> One more thing about the code :
>
> T inv(T m)() {
> return 1.0 / m;
> }
>
> What if we call inv(5)?
yes what about it what should the compiler do? read your mind? the
code that I gave returns 0
> This is an error, why?
>
> - Function explicitly states that the parameter is a floating point
> type.
how?
> - Operations between floating point types and integers result a
> floating point type
this is the case
> , as you see from the return type, code returns the type of
> parameter, in this case an integer.
yes you can write a template that automatically "upconverts" to float,
but I don't think that is the correct thing for a default thing to do,
why do you alway want to have floats as result?
>
> Thanks.
More information about the Digitalmars-d
mailing list