|
Boost Users : |
From: pheres (pheres_at_[hidden])
Date: 2007-04-25 18:27:11
Hello,
I've two problems so far with a simple for_each:
1.
vector<string*> v2(10);
fill(v2.begin(), v2.end(), new string("hehe"));
for_each(v2.begin(), v2.end(), cout << *_1 << " "); // works
for_each(v2.begin(), v2.end(), delete _1 ); // error
// error: type âconst struct
// boost::lambda::lambda_functor<boost::lambda::placeholder<1>
// >â argument given to âdeleteâ, expected pointer
Shouldn't the placeholder _1 actually become a (string-)pointer as it
obviously does in the expression above ( cout << *_1 << " " )?
2.
Is it possible to call member functions from an placeholder of a boost-like
lambda expression?
vector<string> v3(10);
fill(v3.begin(), v3.end(), "hoho");
for_each(v3.begin(), v3.end(), cout << _1->c_str() << " "); // error
// error: base operand of â->â has non-pointer type âconst
// boost::lambda::lambda_functor<boost::lambda::placeholder<1> >â
Thank you for any input!
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