Заставить виртуальные деструкторы? C ++

Я не нашел ответа на этот вопрос в C ++ Faq lite:

Как мне определить базовый класс, чтобы каждый наследующий его класс должен был определить деструктор ?

Я пробовал запустить эту программу

struct VDtor { virtual ~VDtor()=0;  };
struct Test:VDtor { virtual ~Test(){}  };
int main() { delete new Test; return 0; }

http://codepad.org/wFcE71w3 С ошибкой

In function `Test::~Test()':
t.cpp:(.gnu.linkonce.t._ZN4TestD0Ev+0x1e): undefined reference to `VDtor::~VDtor()'
In function `Test::~Test()':
t.cpp:(.gnu.linkonce.t._ZN4TestD1Ev+0x1e): undefined reference to `VDtor::~VDtor()'

Итак, возможно ли это?

16
задан Null 25 January 2018 в 19:45
поделиться