Using:
Boost 1.42.0
Visual Studio 2.0.50727 SP2
I have a managed C++ project which exposes a set of C++ utilities as a dll.
One particular file transitively includes future.hpp. Deep in future.hpp's
detail namespace, it comes across:
<code>
struct all_futures_lock
{
unsigned count;
boost::scoped_arrayboost::mutex > locks;
all_futures_lock(std::vector& futures):
count(futures.size()),locks(new boost::unique_lockboost::mutex[count])
{
for(unsigned i=0;iboost::mutex(futures[i].future->mutex);
}
}
...
void unlock()
{
for(unsigned i=0;i with
1> [
1> T=boost::unique_lock
1> ]
1> <a path>\boost\v1_42_0\include\boost/smart_ptr/scoped_array.hpp(77):
could be 'boost::unique_lock<Mutex> &boost::scoped_array<T>::operator
[](ptrdiff_t) const'
1> with
1> [
1> Mutex=boost::mutex,
1> T=boost::unique_lock
1> ]
1> or 'built-in C++ operator[(void (__cdecl *)(boost::scoped_array<T> ***),
unsigned int)'
1> with
1> [
1> T=boost::unique_lock
1> ]
1> while trying to match the argument list '(boost::scoped_array<T>,
unsigned int)'
1> with
1> [
1> T=boost::unique_lock
1> ]
Does anyone have any idea what is causing this, and how I might go about
resolving it?
Sorry if this has ever been brought up, but I could not find anything about
this issue in google searches or this mailing list.
Thanks in Advance!
-RD