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' 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' 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