#include #include #include #include #include #include using namespace std ; int main (void) { TemplateClass t (new DerivedClass()); boost::function fp ; fp = boost::lambda::bind (&BaseClass::foo, boost::lambda::bind (&TemplateClass::operator->, t)) ; }