小编Alt*_*irl的帖子

如何构造具有已删除析构函数的类型的动态对象?

假设我有一些看起来像这样的东西:

struct foo {
    ~foo() = delete;
}
Run Code Online (Sandbox Code Playgroud)

让我们说我以后动态分配一个类型的对象foo:

foo *f = new foo;
Run Code Online (Sandbox Code Playgroud)

这可以; 我假设合成的默认构造函数用于构造表示的对象f,但是:

foo f2;
Run Code Online (Sandbox Code Playgroud)

给我一个错误:

尝试使用已删除的功能

那么f如果默认构造函数foo被隐式删除,对象如何表示?

而且,假设foo有私人会员size_t n.n动态分配的值是什么foo,例如f

c++ destructor c++11 c++14

4
推荐指数
1
解决办法
273
查看次数

标签 统计

c++ ×1

c++11 ×1

c++14 ×1

destructor ×1