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