
Hehe, I already tried that and it gives me this handy little error message: http://pastebin.com/m787325af Essentially telling me something I don't understand at all about boost::phoenix::at not being a function...
Richard Vock wrote:
Hi boost gurus,
after some time and a lot of pain I somehow managed to work with boost.lambda in a way that actually outweighs the costs (code elegance versus time spent compiling it), but I miss some features (like local variables) I see in that cute phoenix documentation and a lot of mailing list threads which all seem to propose using phoenix rather than lambda (and it indeed looks a lot better).
But whenever I try to use it, I somehow fail at the most simple tasks. Take for example this minimalistic code example here (note the use of #define USE_LAMBDA): http://pastebin.com/m3f590a01
Both versions (with and without USE_LAMBDA defined) compile well on the most recent stable g++ compiler, but the phoenix version does not output anything. Not at all. Also note, that this exact lambda expression is mentioned here: http://tinyurl.com/ybmp2lw (well, without the << "\n" but that doesn't change the problem)
Could someone please enlighten me by telling me what I have to do here? I should mention I am bound to boost::function, not some funky phoenix::actor derivations...
Try removing lambda:
doSth(cout << arg1 << "\n");
Also, endl works on phoenix:
doSth(cout << arg1 << std::endl);
Regards,