[omniORB] Ambiguous inheritance error

bjornw@fairplay.no bjornw@fairplay.no
24 Feb 1999 14:28:11 +0100


Thomas <Thomas@Twinspark.nl> writes:

> Interesting, I run into the same problem using an other compiler (borland) 
> with omni version 2.6.1.
> If the situation is the same as with 2.6.1 then not compiling your code is 
> a compiler error, it should via the dominance rule choose for the 
> implementation in _sk_C. A strange workaround for the same problem with the 
> borland compiler was to place the _sk_C base class *first* in the base 
> class list.
> So you would get:
> 
> class C_i : public virtual _sk_C, public virtual A_i, public virtual B_i
> {} ;
> 
Maybe some of the other classes 'forgot' to put the virtual in front of
the inheritance declaration. That might explain why it did not work:


         BASE           BASE
        /   \            |
DERIVED_1   DERIVED_2  DERIVED_3
     \        |         /
      \       |        /
       \      |       /
        \     |      /
          YOUR_CLASS


bjornw>