On Thu, 07 Jun 2007 09:34:32 +0900, Douglas Gregor
wrote:
[...]
void Hello() { }
boost::signal sig;
sig.connect(&Hello); // OK
sig.disconnect(&Hello); // Error
[...]http://www.boost.org/doc/html/signals/tutorial.html#id1627590
According to http://www.boost.org/doc/html/signals/
tutorial.html#id1627841
the code above should work? However I can't compile it with VC++
2005 SP1.
Anyone with the same problem? The error message I get is:
The code supporting this feature was accidentally disabled for VC++
in Boost 1.33.1. This oversight was fixed in Boost 1.34.0.
Doug, I upgraded now to Boost 1.34.0 only to run into another problem with
Boost.Signal:
C:\Boost\include\boost-1_34\boost/signals/signal_template.hpp(242) : error
C2666: 'boost::operator ==' : 4 overloads have similar conversions
C:\Boost\include\boost-1_34\boost/function/function_template.hpp(699):
could be 'void boost::operator ==(const
boost::function1 &,const boost::function1
&)'
[...]
C:\Boost\include\boost-1_34\boost/function/function_base.hpp(647):
or 'bool boost::operator ==(Functor,const
boost::function_base &)'
[...]
C:\Boost\include\boost-1_34\boost/function/function_base.hpp(638):
or 'bool boost::operator ==<Function>(const boost::function_base
&,Functor)'
[...]
or 'built-in C++ operator==(void (__thiscall
boost::function1::dummy::* )(void), void (__thiscall
boost::function1::dummy::* )(void))'
[...]
while trying to match the argument list
'(boost::function<Signature>, const boost::function<Signature>)'
[...]
C:\Boost\include\boost-1_34\boost/signals/signal_template.hpp(224)
: see reference to function template instantiation 'void
boost::signal1::do_disconnect<T>(const
Function &,boost::mpl::bool_)' being compiled
[...]
If required I can copy&paste the full error message (I only dropped the
template parameters for better readability). Is this a known problem?
Anything I can do about it?
Boris