> not well-formed C++, for it violates the one-definition rule in that it > *lacks* a definition for the virtual member function foo::~foo(). Does > it make any difference if you add a definition?
Unfortunately no. Replacing the declaration with an inline definition
produces a copy of it in undef.o, but we still get an undefined
reference to ~bar:
nm undef.o | grep D0
U _ZN3barD0Ev
0000000000000000 W _ZN3fooD0Ev
Cheers,
Rafael
