Re: SigC::Object ambigous base class



On Tuesday 04 April 2006 09:26, Josepo Urrutia wrote:
> 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.

Are you using multiple inheritance?  If so, you may have two SigC::Object 
objects in the inheritance path, thus giving rise to an ambiguity.

Chris




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