Boost logo

Boost Users :

From: Isaac Lascasas (pisiiki3_at_[hidden])
Date: 2008-08-09 16:54:03


Hello, this is my first post to the Boost Users List. First, I want to present my respect to all the boost lib developers. I have been using boost lib for about two years and it has improved the quality and robustness of my code to points I would have never imagined. Thank you very much.

I'm posting this message because I get the following warning in the bind.hpp header from the current trunk with the vc++2008 compiler:

c:\code\BoostSVN\boost/bind.hpp(1643) : warning C4180: qualifier applied to function type has no meaning; ignored
        c:\code\BoostSVN\boost/bind.hpp(1677) : see reference to class template instantiation 'boost::_bi::add_cref<Pm,I>' being compiled
        with
        [
            Pm=sl::math::vector4<float> (__cdecl sl::pipe_smasher::pipes::build_float4::* )(void),
            I=1
        ]
        c:\code\sl\pipe_smasher\pipes/build.hpp(106) : see reference to class template instantiation 'boost::_bi::dm_result<Pm,A1>' being compiled
        with
        [
            Pm=sl::math::vector4f (__cdecl sl::pipe_smasher::pipes::build_float4::* )(void),
            A1=sl::pipe_smasher::pipes::build_float4 *
        ]

My code looks like this:

class build_float4 : public pipe
 {
 public:
       build_float4()
  {
  m_pOutput = add_output<vector4f>("Output");
  m_pInputX = add_input<float>("x");
  m_pInputY = add_input<float>("y");
  m_pInputZ = add_input<float>("z");
  m_pInputW = add_input<float>("w");

  m_pOutput->add_dependency(boost::bind(&build_float4::on_input_change, this), m_pInputX, m_pInputY, m_pInputZ, m_pInputW);
  }

  vector4f on_input_change()
   {
   return vector4f(**m_pInputX, **m_pInputY, **m_pInputZ, **m_pInputW);
   }

 private:
  output<vector4f>* m_pOutput;
  input<float>* m_pInputX;
  input<float>* m_pInputY;
  input<float>* m_pInputZ;
  input<float>* m_pInputW;
 };

Checking the bind.hpp I found the following:

template< class M, class T > struct add_cref< M T::*, 1 >
{
    typedef M const & type;
};

Maybe I'm doing something wrong or it is just a typo in the bind.hpp?

Thank you,

Isaac Lascasas



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net