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.
