
11 Aug
2007
11 Aug
'07
12:42 a.m.
Hi, I hope this is the last question about result_of. I want to know the reason why result_of<F()>::type returns void by default instead of an incomplete type like template<typename F> struct error_this_is_not_a_nullary_function; which could make error message more readable. I found the one reason: The function composition. result_of<F(result_of<G()>::type)>::type is always well-formed unless result_of<A_NonNullary_Function()> is specialized for some reason. Was result_of designed with a view to the function composition? Regards, -- Shunsuke Sogame