
I have a large project at work. We use Visual Studio 2005 with SP 1 and Boost 1.34.0. When we use boost::bind in algorithms on collections we very often get following warning (at level 3): J:\ThirdParty\boost_1_34_0\boost/bind.hpp(1575) : warning C4180: qualifier applied to function type has no meaning; ignored the detailed message is following (just an example extract from compilation log, sadly I was unable to produce a simple stand-alone example - but if it is required then I will give some more work into finding one): J:\ThirdParty\boost_1_34_0\boost/bind.hpp(1575) : warning C4180: qualifier applied to function type has no meaning; ignored J:\ThirdParty\boost_1_34_0\boost/bind.hpp(1609) : see reference to class template instantiation 'boost::_bi::add_cref<Pm,I>' being compiled with [ Pm=boost::shared_ptr<nle::views::ScrollEventListener> , I=1 ] j:\sources\Common/Helpers/Observable.h(128) : see reference to class template instantiation 'boost::_bi::dm_result<Pm,A1>' being compiled with [ Pm=boost::shared_ptr<nle::views::ScrollEventListener> (__thiscall boost::weak_ptr<nle::views::ScrollEventListener>::* )(void), A1=boost::arg<1> ] j:\sources\Common/Helpers/Observable.h(120) : while compiling class template member function 'void common::helpers::Observable<T>::registerListener(const boost::weak_ptr<T> &) const' with [ T=nle::views::ScrollEventListener ] j:\sources\NLE/Views/ScrollInfo.h(65) : see reference to class template instantiation 'common::helpers::Observable<T>' being compiled with [ T=nle::views::ScrollEventListener ] One of my colleagues found a "solution" to this problem. If the modifier "const" is removed in one of typedef's the no warning are generated. However we would like a better solution since modifying the library doesn't seem a good one. What to do? Adam Badura