Re: [sigc] ANNOUNCE: libsigc++ 2.0.2



Christof Petig wrote:
Martin Schulze schrieb:

*** Changes:

2.0.2:

* Suppress compiler warning in compatibility module at
 dynamic_cast<>-test (fix suggested by Timothy M. Shead).


The warning only changed ("unused variable" -> "statement with no effect"). Perhaps casting to void might silence the compiler.

Enclosed is a patch for object_slot.h to eliminate the "statement with no effect" warning. As Christof suggested, it does a C-style cast to void to eliminate the warning. Tested on Gentoo x86, gcc 3.3.2.

Regards,
Timothy M. Shead
--- object_slot.h.old	2004-05-29 10:46:10.000000000 -0700
+++ object_slot.h	2004-05-29 11:00:33.000000000 -0700
@@ -26,7 +26,7 @@
 template <class T_return, class T_obj1, class T_obj2>
 inline Slot0<T_return>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)() )
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{  (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor0<T_return, T_obj2>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot1 that encapsulates a  method and an object instance.
@@ -42,7 +42,7 @@
 template <class T_return, class T_arg1, class T_obj1, class T_obj2>
 inline Slot1<T_return, T_arg1>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) )
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{  (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor1<T_return, T_obj2, T_arg1>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot2 that encapsulates a  method and an object instance.
@@ -58,7 +58,7 @@
 template <class T_return, class T_arg1,class T_arg2, class T_obj1, class T_obj2>
 inline Slot2<T_return, T_arg1,T_arg2>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) )
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{  (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor2<T_return, T_obj2, T_arg1,T_arg2>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot3 that encapsulates a  method and an object instance.
@@ -74,7 +74,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj1, class T_obj2>
 inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) )
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{  (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor3<T_return, T_obj2, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot4 that encapsulates a  method and an object instance.
@@ -90,7 +90,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj1, class T_obj2>
 inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) )
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{  (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor4<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot5 that encapsulates a  method and an object instance.
@@ -106,7 +106,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj1, class T_obj2>
 inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) )
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{  (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor5<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot6 that encapsulates a  method and an object instance.
@@ -122,7 +122,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj1, class T_obj2>
 inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) )
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{  (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor6<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot7 that encapsulates a  method and an object instance.
@@ -138,7 +138,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_obj1, class T_obj2>
 inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) )
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{  (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor7<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_obj, _A_func); }
 
 
@@ -155,7 +155,7 @@
 template <class T_return, class T_obj1, class T_obj2>
 inline Slot0<T_return>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)() const)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor0<T_return, T_obj2>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot1 that encapsulates a const method and an object instance.
@@ -171,7 +171,7 @@
 template <class T_return, class T_arg1, class T_obj1, class T_obj2>
 inline Slot1<T_return, T_arg1>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor1<T_return, T_obj2, T_arg1>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot2 that encapsulates a const method and an object instance.
@@ -187,7 +187,7 @@
 template <class T_return, class T_arg1,class T_arg2, class T_obj1, class T_obj2>
 inline Slot2<T_return, T_arg1,T_arg2>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor2<T_return, T_obj2, T_arg1,T_arg2>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot3 that encapsulates a const method and an object instance.
@@ -203,7 +203,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj1, class T_obj2>
 inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor3<T_return, T_obj2, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot4 that encapsulates a const method and an object instance.
@@ -219,7 +219,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj1, class T_obj2>
 inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor4<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot5 that encapsulates a const method and an object instance.
@@ -235,7 +235,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj1, class T_obj2>
 inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor5<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot6 that encapsulates a const method and an object instance.
@@ -251,7 +251,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj1, class T_obj2>
 inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor6<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot7 that encapsulates a const method and an object instance.
@@ -267,7 +267,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_obj1, class T_obj2>
 inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor7<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_obj, _A_func); }
 
 
@@ -284,7 +284,7 @@
 template <class T_return, class T_obj1, class T_obj2>
 inline Slot0<T_return>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)() volatile)
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{ (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor0<T_return, T_obj2>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot1 that encapsulates a volatile method and an object instance.
@@ -300,7 +300,7 @@
 template <class T_return, class T_arg1, class T_obj1, class T_obj2>
 inline Slot1<T_return, T_arg1>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) volatile)
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{ (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor1<T_return, T_obj2, T_arg1>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot2 that encapsulates a volatile method and an object instance.
@@ -316,7 +316,7 @@
 template <class T_return, class T_arg1,class T_arg2, class T_obj1, class T_obj2>
 inline Slot2<T_return, T_arg1,T_arg2>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) volatile)
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{ (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor2<T_return, T_obj2, T_arg1,T_arg2>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot3 that encapsulates a volatile method and an object instance.
@@ -332,7 +332,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj1, class T_obj2>
 inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) volatile)
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{ (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor3<T_return, T_obj2, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot4 that encapsulates a volatile method and an object instance.
@@ -348,7 +348,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj1, class T_obj2>
 inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) volatile)
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{ (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor4<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot5 that encapsulates a volatile method and an object instance.
@@ -364,7 +364,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj1, class T_obj2>
 inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) volatile)
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{ (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor5<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot6 that encapsulates a volatile method and an object instance.
@@ -380,7 +380,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj1, class T_obj2>
 inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) volatile)
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{ (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor6<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot7 that encapsulates a volatile method and an object instance.
@@ -396,7 +396,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_obj1, class T_obj2>
 inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) volatile)
-{  Object& test_whether_A_obj_derives_from_trackable = dynamic_cast< Object&>(_A_obj);
+{ (void)dynamic_cast< Object&>(_A_obj);
   return ::sigc::bound_mem_functor7<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_obj, _A_func); }
 
 
@@ -413,7 +413,7 @@
 template <class T_return, class T_obj1, class T_obj2>
 inline Slot0<T_return>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)() const volatile)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor0<T_return, T_obj2>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot1 that encapsulates a const volatile method and an object instance.
@@ -429,7 +429,7 @@
 template <class T_return, class T_arg1, class T_obj1, class T_obj2>
 inline Slot1<T_return, T_arg1>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1) const volatile)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor1<T_return, T_obj2, T_arg1>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot2 that encapsulates a const volatile method and an object instance.
@@ -445,7 +445,7 @@
 template <class T_return, class T_arg1,class T_arg2, class T_obj1, class T_obj2>
 inline Slot2<T_return, T_arg1,T_arg2>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2) const volatile)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor2<T_return, T_obj2, T_arg1,T_arg2>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot3 that encapsulates a const volatile method and an object instance.
@@ -461,7 +461,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3, class T_obj1, class T_obj2>
 inline Slot3<T_return, T_arg1,T_arg2,T_arg3>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3) const volatile)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor3<T_return, T_obj2, T_arg1,T_arg2,T_arg3>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot4 that encapsulates a const volatile method and an object instance.
@@ -477,7 +477,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4, class T_obj1, class T_obj2>
 inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4) const volatile)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor4<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot5 that encapsulates a const volatile method and an object instance.
@@ -493,7 +493,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5, class T_obj1, class T_obj2>
 inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5) const volatile)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor5<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot6 that encapsulates a const volatile method and an object instance.
@@ -509,7 +509,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6, class T_obj1, class T_obj2>
 inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6) const volatile)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor6<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_obj, _A_func); }
 
 /** Creates a functor of type SigC::Slot7 that encapsulates a const volatile method and an object instance.
@@ -525,7 +525,7 @@
 template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7, class T_obj1, class T_obj2>
 inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>
 slot(const T_obj1& _A_obj, T_return (T_obj2::*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7) const volatile)
-{ const Object& test_whether_A_obj_derives_from_trackable = dynamic_cast<const Object&>(_A_obj);
+{ (void)dynamic_cast<const Object&>(_A_obj);
   return ::sigc::bound_mem_functor7<T_return, T_obj2, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_obj, _A_func); }
 
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]