http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51989
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-01-25 09:48:32 UTC --- not a gcc bug, you're code is invalid - values of default arguments are not part of the function type and do not take part in deduction you can do it in C++11 with decltype