On Thu, Jun 2, 2011 at 12:32 PM, Alexander Khomyak <Alexander.Khomyak@cbossgroup.com> wrote:

Hi.

According lambda documentation there is a possibility to use function call operator in lambda expression. But I canít compile following code using MS Visual Studio 2003.NET compiler:

#include <boost/lambda/lambda.hpp>

using namespace boost::lambda;

int foo(int i) { return i; }

Somewhere in main function:

(_1(1))(foo);

Could you give me example of using function call operator in lambda expression?

In advance thank you very much.


I don't believe this is possible. The documentation states...

The function call operators have the effect of evaluating the lambda functor.†

from which I infer that the result of application of function-call is no longer a lazy object. You
can write

(_1(foo))(1);

but I guess that's not quite what you had in mind.

HTH

- Rob.