id summary reporter owner description type status milestone component version severity resolution keywords cc 5040 future.hpp in boost::thread does not compile with /clr Colin Powers viboes "Including thread.hpp in a project using the /clr compiler flag results in the following output. {{{ [...]\boost-1.45\include\boost-1_45\boost/thread/future.hpp(422) : error C2666: 'boost::scoped_array: :operator []' : 2 overloads have similar conversions with [ T=boost::unique_lock ] [...]\boost-1.45\include\boost-1_45\boost/smart_ptr/scoped_array.hpp(77): could be 'boost::uniqu e_lock &boost::scoped_array::operator [](ptrdiff_t) const' with [ Mutex=boost::mutex, T=boost::unique_lock ] or 'built-in C++ operator[(void (__cdecl *)(boost::scoped_array ***), boost::detail::future_waiter::count_typ e)' with [ T=boost::unique_lock ] while trying to match the argument list '(boost::scoped_array, boost::detail::future_waiter::count_type)' with [ T=boost::unique_lock ] [...]\boost-1.45\include\boost-1_45\boost/thread/future.hpp(435) : error C2666: 'boost::scoped_array: :operator []' : 2 overloads have similar conversions with [ T=boost::unique_lock ] [...]\boost-1.45\include\boost-1_45\boost/smart_ptr/scoped_array.hpp(77): could be 'boost::uniqu e_lock &boost::scoped_array::operator [](ptrdiff_t) const' with [ Mutex=boost::mutex, T=boost::unique_lock ] or 'built-in C++ operator[(void (__cdecl *)(boost::scoped_array ***), boost::detail::future_waiter::count_typ e)' with [ T=boost::unique_lock ] while trying to match the argument list '(boost::scoped_array, boost::detail::future_waiter::count_type)' with [ T=boost::unique_lock ] [...]\boost-1.45\include\boost-1_45\boost/thread/future.hpp(435) : error C2228: left of '.unlock' must h ave class/struct/union }}} I couldn't find any tickets on this problem however a quick google brought up someone who has encountered this before: http://groups.google.com/group/boost-list/browse_thread/thread/9662c882efc153b6?pli=1 unsigned should probably convert to ptrdiff_t implicitly but it's throwing a wobbly with /clr. Maybe this is fair enough as specifying /clr opens a whole new world of pain (I was just trying my luck really!), nevertheless would it be sensible to change the types from unsigned to ptrdiff_t as that's what operator[] requires?" Bugs closed Boost 1.52.0 thread Boost 1.45.0 Problem fixed MANAGED viboes