Cromwell Enage
--- David Abrahams wrote:
I take it back; I'm pretty sure this has nothing to do with forwarding. On what line of *your code* does that error appear?
The error appears on the line with the // error comment.
The actual error, and not just some line of the instantiation
backtrace? That makes no sense to me, because the functions generated
by BOOST_PARAMETER_FUN take their arguments by const&. The error
should appear wherever you try to bind a non-const reference to the
resulting const lvalue. Aha:
typedef typename boost::remove_const<
^^^^^^^^^^^^
typename boost::parameter::binding<
Params
, tag::rng_engine
>::type
>::type
RNGEngine;
...
RNGEngine rng_engine = p[example::rng_engine];
According to
http://www.boost.org/libs/parameter/doc/html/reference.html#binding,
binding