------- Comment #7 from jwakely dot gcc at gmail dot com 2009-04-07 14:45 ------- I think you have the syntax wrong, if you want to know the return type of a function type (or function pointer, or function reference) you need to say:
result_of<int (*(long, float))(long ,float)>::type what you probably want is: typedef int (*func_ptr)(long, float); result_of<func_ptr(long, float)>:type -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39676