error: use of deleted function 'A::A(const A&)'
return tmp;
^~~
Почему конструктор копирования вызывается только тогда, когда в A
есть виртуальный деструктор? Как этого избежать?
struct B {};
struct A{
std::unique_ptr<B> x;
virtual ~A() = default;
};
A f() {
A tmp;
return tmp;
}