http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48521
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-04-18 21:43:36 UTC --- (In reply to comment #0) > This is supposed to work, and did with 4.4: > > #include <functional> > struct X > { > int foo(); > }; > > typedef int (X::*pm)(); > std::result_of<pm()>::type i = 0; Bah, that shouldn't work! But this should: std::result_of<pm(X)>::type i = 0;