
Hi all i'm porting a program written in visual studio 2005 to vs 2003, and came to a problem i can't fix. The idea is to have a lock a mutex while a object excists. The code is: template <class B> class BaseReadLockProxy { private: const B& base; typename B::MutexType::scoped_lock baseScoped_lock; public: BaseReadLockProxy(const B& b): base(b), baseScoped_lock( B::MutexType::scoped_lock(b.baseMutex)) { } typename const B::ContainerType& getItems() { return base.getItems(); } ~BaseReadLockProxy() { } }; Where B::MutexType: typedef boost::mutex MutexType; When compiling this gives: e:\stage2\2apl\2aplcore\BaseScopeLockedProxy.h(39) : error C2558: class 'boost::detail::thread::scoped_lock<Mutex>' : no copy constructor available or copy constructor is declared 'explicit' with [ Mutex=boost::mutex ] e:\stage2\2apl\2aplcore\BaseScopeLockedProxy.h(36) : while compiling class-template member function 'doubleapl::BaseReadLockProxy<B>::BaseReadLockProxy(const B &)' with [ B=doubleapl::PRRuleBase ] RuleOption.cpp(112) : see reference to class template instantiation 'doubleapl::BaseReadLockProxy<B>' being compiled with [ B=doubleapl::PRRuleBase ] I know it should work, because it compiles/runs when using visual studio 2005. Does anyone have an idea what could cause this problem? All ideas are welcome, cause i'm totally stuck