http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49291
Summary: error: no matching function for call to std::list<std::tr1::shared_ptr<B> >::remove_if(A::release(B*)::F) Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: pl...@agmk.net Created attachment 24438 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24438 testcase compiling with gnu++0x works fine while gnu++98 ends with error: $ g++ 0.cpp -c -std=gnu++98 0.cpp: In member function ‘void A::release(B*)’: 0.cpp:20:20: error: no matching function for call to ‘std::list<std::tr1::shared_ptr<B> >::remove_if(A::release(B*)::F)’ struct F looks like a nice functor, so where is the problem?