Boost logo

Boost :

Subject: Re: [boost] Boost 1_58_0_b1_rc2 is available for testing
From: Peter Dimov (lists_at_[hidden])
Date: 2015-03-20 12:21:28


Marcel Raad wrote:
> I get a lot of compile errors on MSVC12 when using boost::bind with more
> than two arguments of which one is a non-const reference and constructing
> a boost::function with the result:
>
> #include <boost/bind.hpp>
> #include <boost/function.hpp>
>
> void a(int&, int, int);
>
> int main(){
> boost::function<void(int&, int, int)>
> f(boost::bind(&a, _1, _2, _3));
> }
>
> results in
> error C2664: 'void (int &,int,int)': cannot convert argument 1 from 'const
> int' to 'int &'

Thank you, Marcel, for reporting this. I added a test in

https://github.com/boostorg/bind/commit/b4881265fbe2100211a7ffb734ce2aaa0d009835

and then fixed it in

https://github.com/boostorg/bind/commit/42b5cef177603328ead66bc6a98a3067aebc433d

Would appreciate if you give this change a try and see if it has any
unwanted consequences.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk