#include <vector>
#include <memory>
class X
{
public:
virtual ~X() {}
};
class Y : public X {};
int main(int argc, char *argv[])
{
std::vector<std::unique_ptr<Y>> A;
A.emplace_back();
std::unique_ptr<Y> &a = A[0];
A.emplace_back();
std::unique_ptr<Y> &b = A[1];
a.reset(new Y());
b.reset(new Y());
return 0;
}
以上代碼可以編譯成功, 但是運行時會出現段錯誤. 不過交換第 14 行和第 15 行后就不會出現段錯誤了.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/11111.html
標籤:C++ 語言
上一篇:各位大佬,github有一個我急需的工具需要編譯,求幫忙(可付費)
下一篇:小小新人大大問號
