![]() |
1
4
根据标准:
既然你有 用户声明 复制构造函数通过删除它,您需要用户提供默认的构造函数:
|
![]() |
2
2
由Scott Meyers,项目17,P.109在有效的现代C++中清楚地解释了自动生成特殊成员函数背后的规则。 简而言之,无论何时重新定义/重写构造函数,都需要定义所有需要的构造函数。由于已删除了复制构造函数,因此需要定义基类的默认构造函数。这是因为定义派生类时使用的是默认构造函数。
本代码
此外,您需要定义DTOR,甚至认为它是一个虚拟函数。下面的代码编译并运行 here .
|
![]() |
3
0
您将复制构造函数定义为您自己(=delete)。所以编译器看到了这一点,它不会生成默认的构造函数。因此,在这种情况下,当定义从基类连接继承的新类抽象连接时,编译器不知道如何为新的派生类抽象连接做构造函数。所以报告了这个错误。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |