The code: struct A {int* next; }; struct B {int* next; }; struct C : public A, public B { using A::next; }; void foo(C* c) { c->next = 0; }
gets you: ~/ootbc/sim$ g++ foo.cc foo.cc: In function `void foo(C*)': foo.cc:4: error: request for member `next' is ambiguous foo.cc:2: error: candidates are: int*B::next foo.cc:1: error: int*A::next Compiles OK on Comeau. Ivan -- Summary: ignores using declaration Product: gcc Version: 3.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: igodard at pacbell dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26256