http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52612
--- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-03-19 10:39:10 UTC --- I seem to remember that this is a known problem of the tr1 version of this facility, per the specs. Changing the snippet like the following works: ... int main() { int n = 5; std::tr1::bind(return_int2,32,std::tr1::placeholders::_1)(n); }