warning C4180 in VS 2005 for bind.hpp
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
Adam Badura:
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
This is a VC8 compiler bug; the compiler is picking up the wrong specialization. It is harmless in this particular case as the code is only instantiated, but not executed. I haven't been able to find a workaround. My impression is that MS has acknowledged this as a bug after much deliberation, but promised no fix. :-)
Hello Adam! I don't think the library is guilty. I think you pass some wrong parameters. Can you please provide a sample code which produces such a warning? With kind regards, Ovanes On 8/29/07, Adam Badura < abadura@o2.pl> wrote:
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
' being compiled with [ Pm=boost::shared_ptrnle::views::ScrollEventListener , I=1 ] j:\sources\Common/Helpers/Observable.h(128) : see reference to class template instantiation 'boost::_bi::dm_result ' being compiled with [ Pm=boost::shared_ptrnle::views::ScrollEventListener (__thiscall boost::weak_ptrnle::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
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (3)
-
Adam Badura
-
Ovanes Markarian
-
Peter Dimov