Boost C++ Libraries: Ticket #8522: Using result_of on pure virtual functions lead to compile errors https://svn.boost.org/trac10/ticket/8522 <p> minimal example: </p> <p> struct Test{ </p> <blockquote> <p> typedef int result_type; virtual int operator()(int)=0; </p> </blockquote> <p> }; typedef boost::result_of&lt;Test(int)&gt;::type type; </p> <p> fails because Test is pure virtual and thus the function pointer is invalid. </p> <p> from the mailing list: </p> <p> "This is supposed to work: </p> <blockquote> <p> typedef boost::result_of&lt;Test&amp;(int)&gt;::type type;" </p> </blockquote> <p> But apparently it does not: </p> <p> /usr/include/boost/utility/result_of.hpp:166:8: Error: »Test&amp;« is no class, structure or union type. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/8522 Trac 1.4.3