Здравствуйте, rg45, Вы писали:
M>>Что значит — пустышки?
R>Попробуй добавить весь джентльменский набор:
Добавил не весь, только перемещение
R>R>struct IObject
R>{
R> IObject(IObject&&){}
R> IObject& operator = (IObject&&) { return *this; }
R>}; // struct IObject
R>
Только я сделал в конечном классе, где виртуальный деструктор переопределён
Заработало.
Сделал = default — заработало
R>Если после этого проблема уйдет, то попробуй и конструктор и оператор перемещения просто объявить default.
R>Но это на правах костыля. По идее все должно и так работать. Похоже-таки на баг msvc.
Потом подумал, может ты таки имел в виду самый базовый класс, где один виртуальный деструктор объявлен. Объявил default весь набор. Убрал в финальном классе. Не прокатило.