我有以下代碼析構函數的unique_ptr
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),除非我註釋掉析構函數。實際上,我並不需要在代碼中使用這個析構函數,我只是想將其用於調試目的。
但是,我不明白髮生了什麼,因此我擔心我做錯了什麼。這裏發生了什麼?
當詢問爲什麼某些東西不能編譯時,包含錯誤信息總是有幫助的。 – NPE 2013-03-18 20:07:10
@ user2183861不,它沒有在那裏回答。這個問題完全不同 – 2013-03-19 07:12:15