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