У меня есть следующий код
class A {
public:
A(){}
~A(){}
private:
std::vector<std::unique_ptr<double> > x;
};
A f() {
A a;
return a;
}
int main() {
A a=f();
return 0;
}
Он не компилирует (gcc 4.7), если я не прокомментирую деструктор. На самом деле, мне действительно не нужен этот деструктор в моем коде, я просто хотел использовать его для отладки.
Однако я не понимаю, что происходит, и поэтому я опасаюсь, что я сделал что-то неправильно. Что здесь происходит?