0

I need to use boost::lambda for some conversion.

I've tried this:

static_cast<size_t>(boost::lambda::_1 * 60 * 1000)

But I've got error:

error C2440: 'static_cast' : cannot convert from 'const boost::lambda::lambda_functor' to 'size_t'

How to put this conversion inside of lambda?

Some programmer dude
  • 400,186
  • 35
  • 402
  • 621
brachistochron
  • 321
  • 1
  • 11
  • 2
    [`ll_static_cast`](http://www.boost.org/doc/libs/1_57_0/doc/html/lambda/le_in_details.html#idp320765856). Or maybe just [`ret` if implicit conversion is sufficient.](http://www.boost.org/doc/libs/1_57_0/doc/html/lambda/le_in_details.html#lambda.overriding_deduced_return_type). – T.C. Feb 02 '15 at 09:17
  • Thank you. ll_static_cast is exactly what i want. – brachistochron Feb 02 '15 at 14:57

1 Answers1

2

You can use boost::phoenix::static_cast_ instead (and I suggest using Phoenix for lambda expressions in general, assuming you're using c++03).

http://www.boost.org/doc/libs/1_57_0/boost/phoenix/object/static_cast.hpp

sehe
  • 374,641
  • 47
  • 450
  • 633