One more thing about the code :
T inv(T m)() {
return 1.0 / m;
}
What if we call inv(5)?
This is an error, why?
- Function explicitly states that the parameter is a floating point type.
- Operations between floating point types and integers result a floating
point type
, as you see from the return type, code returns the type of parameter, in
this case an integer.
Thanks.