Hello,
I would like to compare two boost::function objects, but get an
"boost::operator ==' : 4 overloads have similar conversions" error.
On Visual Studio 2008 SP1, both Win32 and x64 target platform, the
following code does not compile:
boost::function one, two;
if (one==two)
one.clear();
I get the compile error messages below.
Any ideas, any help?
Regards and thank you in advance
Hajo
1>c:\users\hajo
kirchhoff\desktop\prj\cct2_2005\r3000trunk\v4\wbr_backend\basic_stream_connector.cpp(31)
: error C2666: 'boost::operator ==' : 4 overloads have similar conversions
1> c:\users\hajo
kirchhoff\desktop\prj\boost\boost_1_36_0\boost\function\function_template.hpp(821):
could be 'void boost::operator ==<R>(const boost::function0<R> &,const
boost::function0<R> &)' [found using argument-dependent lookup]
1> with
1> [
1> R=void
1> ]
1> c:\users\hajo
kirchhoff\desktop\prj\boost\boost_1_36_0\boost\function\function_base.hpp(747):
or 'bool boost::operator
==(Functor,const boost::function_base &)'
[found using argument-dependent lookup]
1> with
1> [
1> Signature=void (void),
1> Functor=boost::function
1> ]
1> c:\users\hajo
kirchhoff\desktop\prj\boost\boost_1_36_0\boost\function\function_base.hpp(738):
or 'bool boost::operator ==(const
boost::function_base &,Functor)' [found using argument-dependent lookup]
1> with
1> [
1> Signature=void (void),
1> Functor=boost::function
1> ]
1> or 'built-in C++ operator==(void (__thiscall
boost::function0<R>::dummy::* )(void), void (__thiscall
boost::function0<R>::dummy::* )(void))'
1> with
1> [
1> R=void
1> ]
1> while trying to match the argument list
'(boost::function<Signature>, boost::function<Signature>)'
1> with
1> [
1> Signature=void (void)
1> ]