Hello,
 
Could you please explain what causes the following warning and how to avoid it (boost 1.36, MSVC9.0SP1):
 
typedef boost::weak_ptr<Task> TaskWeakPtr;
typedef std::vector<TaskWeakPtr> TaskWeakPtrs;
TaskWeakPtrs tasks_;

TaskWeakPtrs::iterator toRemove = std::remove_if(tasks_.begin(), tasks_.end(), !boost::bind(&TaskWeakPtr::lock, _1));


1>../boost\boost/bind.hpp(1643) : warning C4180: qualifier applied to function type has no meaning; ignored
1>        ../boost\boost/bind.hpp(1677) : see reference to class template instantiation 'boost::_bi::add_cref<Pm,I>' being compiled
1>        with
1>        [
1>            Pm=boost::shared_ptr<Task> (__thiscall boost::weak_ptr<Task>::* )(void),
1>            I=1
1>        ]
1>        .\TaskMaker.cpp(90) : see reference to class template instantiation 'boost::_bi::dm_result<Pm,A1>' being compiled
1>        with
1>        [
1>            Pm=boost::shared_ptr<Task> (__thiscall boost::weak_ptr<Task>::* )(void),
1>            A1=boost::arg<1>
1>        ]
 
Thank you!