T.Day@PURPLE.CS.UCL.AC.UK (Tim Day) (02/24/89)
Here's a good 'un.... It compiles OK under Glockenspiel C++, but under g++ (g++ version 1.32.0) I get : vtest.cc:17: conficting specification deriving from virtual function `void One::scooby (struct Foo &)' vtest.cc:27: warning: excess elements in aggregate initializer -------------------------------------------------------------- class Foo { public: Foo() {} }; class Bar : public Foo { public: Bar() :(){} }; class One { public: One() {} virtual void scooby(Foo&) {} // Here virtual void scooby(Bar&) {} }; class Two : public One { public: Two() :(){} virtual void scooby(Foo&) {} virtual void scooby(Bar&) {} }; // and here main() { One a;Two b; a.scooby(Foo());a.scooby(Bar());b.scooby(Bar());b.scooby(Foo()); exit(0); } ----------------------------------------------------------------- The problem goes away if class Bar is NOT derived from class Foo. Tim