|
Boost Users : |
From: dirk_griffioen (diddekio_at_[hidden])
Date: 2003-08-12 05:42:58
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()
{
vector<std::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
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net