在 boost::lambda 中使用 static_cast

Using static_cast in boost::lambda

我需要使用 boost::lambda 进行一些转换。

我试过这个:

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

但是我有错误:

错误 C2440:'static_cast':无法从 'const boost::lambda::lambda_functor' 转换为 'size_t'

如何将此转换放入 lambda 中?

您可以改用 boost::phoenix::static_cast_(假设您使用的是 c++03,我建议一般对 lambda 表达式使用 Phoenix)。

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