SigC::Object ambigous base class



Maybe this is not a gtkmm related question, if so sorry for the inconveniences.

I must do a change to a quite old program ( uses gtkmm 2.2.12 ) that affects the inheritance tree.
During the conversion I get this compiler error :

In file included from /usr/include/sigc++-1.2/sigc++/object_slot.h:73:
/usr/include/sigc++-1.2/sigc++/object_slot.h: In constructor
`SigC::ObjectSlotNode::ObjectSlotNode(void (*)(void*), T*, void*, T2) [with
  T = Appl, T2 = bool (Appl::*)()]':
/usr/include/sigc++-1.2/sigc++/slot.h:211: instantiated from `SigC::Slot0<R>::Slot0(SigC::SlotNode*) [with R = bool]' /usr/include/sigc++-1.2/sigc++/object_slot.h:73: instantiated from `SigC::Slot0<R> SigC::slot(O1&, R (O2::*)()) [with R = bool, O1 = Appl, O2 = Appl]'
appl.cc:6092:   instantiated from here
/usr/include/sigc++-1.2/sigc++/object_slot.h:45: `SigC::Object' is an ambiguous base class of `Appl'
make: *** [sonda.o] Error 1

One of the changes has been moving the inheritance of SigC::Object from the class 'Appl' to a more generic class.

If I simply comment the line that produces the error ( a timeout initialization ) the programs compiles and works well ( except the needed timeout that is not initializated and so never called ).

Does anyone know how to avoid this error?

Thanks in advance





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