boos::bind class member function
Hi, I would like to use a for_each with a class member function. The for_each in myclass::do_print below does not compile. And I simply cant figure it out. I'm using vc7.1. //////////////////////////////// void print2(std::string s) { cout << s << '\n'; } class myclass { public: void print(std::string s); void do_print(); }; void myclass::print(std::string s) { cout << s << '\n'; } void myclass::do_print() { vectorstd::string v; v.push_back("a"); v.push_back("b"); v.push_back("c"); v.push_back("d"); for_each(v.begin(), v.end(), boost::bind(boost::type<void>(), &myclass::print, _1)); } ///////////////////////////////////////// nor will for_each(v.begin(), v.end(), boost::bind(&myclass::print, _1)); for_each(v.begin(), v.end(), boost::bind(print, _1)); whereas for_each(v.begin(), v.end(), boost::bind(print2, _1)); is ok It seems natural to do, but I cant get it. Dirk
participants (1)
-
dirk_griffioen