------- Comment #1 from pinskia at gcc dot gnu dot org 2006-01-17 19:27 ------- You still need to declare A::~A().
That is what the following passage from that doc means: Of course, any derived class' destructor must call the base class' destructor, and so the destructor must still be defined (even if it's empty): // file b.cpp B::~B() { /* possibly empty */ } If this definition were not supplied, you could still derive classes from B but they could never be instantiated, which isn't particularly useful. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25826