Cromwell Enage
MinGW reports: 'static const T& boost::random::detail::ptr_helper
::ref(const T&) [with T = const boost::mt19937]' and 'static T& boost::random::detail::ptr_helper ::ref(T&) [with T = const boost::mt19937]' cannot be overloaded When I wrap boost::ref around rng, the program runs fine.
I'm curious as to why I get this error only when specifying positional arguments. Have I run afoul of something fundamental, such as the forwarding problem?
That's precisely correct. When you use keyword arguments, the two overloads for T& T const& are cheap to generate. For positional arguments you get a 2^N explosion. http://www.boost.org/libs/parameter/doc/html/index.html#out-parameters -- Dave Abrahams Boost Consulting www.boost-consulting.com