
25 Jan
2010
25 Jan
'10
2:22 p.m.
Peter Dimov wrote:
Jeff Flinn wrote:
The last statement below fails to compile with boost 1.39.0 on MSVC 8. Am I doing anything obviously wrong? Any help is appreciated.
...
boost::bind(&boost::make_shared
, boost::ref(i)); Under C++03 compilers, make_shared takes its arguments by const reference:
template
shared_ptr<T> make_shared( A1 const & a1 ); MSVC doesn't like the A1=int& case because it forms the questionably valid "int& const&".
boost::bind( &boost::make_shared
, boost::ref(i) ); works though. This is what make_shared<Y>( ref(i) ) would instantiate.
Ah, thanks Peter! Jeff