This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
abstract base classes & MI
- To: egcs at egcs dot cygnus dot com, egcs-bugs at egcs dot cygnus dot com
- Subject: abstract base classes & MI
- From: Charles Kerr <ckerr at enterprise dot nssl dot noaa dot gov>
- Date: Fri, 19 Feb 1999 16:03:56 -0600
- Reply-To: ckerr at enterprise dot nssl dot noaa dot gov
Using egcs-2.93.06 (the 1999/02/08 snapshot), the code:
struct A_interface {
virtual void foo ( ) = 0;
};
struct A_impl {
virtual void foo ( );
};
struct B_interface: public A_interface {
virtual void bar ( ) = 0;
};
struct B_impl : public A_impl, public B_interface {
virtual void bar ( );
};
struct C: public B_impl {
void asdf ( ) {
foo ( );
}
};
yields the error:
Foo.C: In method `void C::asdf()':
Foo.C:15: request for member `foo' is ambiguous in multiple inheritance lattice
I don't see the ambiguity. Does egcs really think I want to invoke the pure method? :)