|
|
1
3
构造函数未能初始化其类的
这不是建筑。这是分配给 现有的 物体。它们已经建成。 要正确构造类成员,必须使用 成员初始化 在构造函数声明本身中。
有许多重要的规则必须遵循,当涉及到正确使用成员初始化时,请参阅C++教科书获取更多信息。 |
|
2
1
问题是由您的
用你的方式实现它意味着
您应该像下面这样更改实现,以避免默认的构造步骤
这叫做 成员初始值设定项列表 : Constructors and member initializer lists |
|
|
3
0
您声明的任何对象都是其构造函数将被调用的候选对象。 若对象有默认构造函数,那个么只有数据类型和对象名称就足够了,不需要任何额外的东西,比如括号。否则,无论是否需要初始化成员,都应该仔细设计类。 大多数情况下,编译器会警告您未正确初始化的变量/对象。 如上所述,您声明的任何对象都需要初始化。编译器将查找可用的构造函数。如果有一个完美的适合,它将被选中。否则,将不可避免地出现如下错误:
此外,试图通过
例如:
但如果你有以下情况:
这是一个编译器会警告你的情况。 但如果你想做这样的事情:
因此,有时由于某些编译器的原因,它似乎可以工作,但您的程序会在某个时刻崩溃。 |
|
KiraHoneybee · 具有构造函数参数的模板化类 3 年前 |
|
|
nick2225 · 隐式调用复制构造函数? 4 年前 |
|
|
nohaga · 为什么在本例中p3需要默认构造函数? 4 年前 |
|
|
Aadil Hoda · 为什么类类型的成员需要初始化? 4 年前 |
|
|
EloiGG · 具有任意类型的变量的可数的C++函数 4 年前 |