Boost logo

Boost Users :

From: Johan Nilsson (r.johan.nilsson_at_[hidden])
Date: 2007-05-31 02:09:48


Peter Dimov wrote:
> From: "Johan Nilsson" <r.johan.nilsson_at_[hidden]>
>
>> void foo()
>> {
>> int const shouldBe3 = (
>> lambda::bind(&bar, 1),
>> lambda::bind(&bar, 2),
>> lambda::return(3) // Yes, this conflicts with the regular
>> "return" statement, but you get the idea
>> )();
>>
>> assert(3 == shouldBe3);
>> }
>
> int const shouldBe3 = (
> lambda::bind(&bar, 1),
> lambda::bind(&bar, 2),
> 3
> )();

Now, that's what I call _embarrasingly_ simple. How stupid of me.

To my defence, the above question originated from a problem I had in a more
complex scenario of doing a very similar thing, where I did try to specify
the return value by using lambda::constant. When that didn't work I
simplified the code and posted the above without trying it out, using a
custom functor instead for the original code. I just now tried to revert to
using the composite lambda expression and it just works, so I probably made
a typo and misinterpreted the error messages earlier.

Sorry for the noise.

/ Johan


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