- 我有两个班,A和B
- B 类有一个私有成员变量,它是对象 A 的一个常量动态大小的数组
- B 类的构造函数之一将采用对 A 类对象的常量引用,该对象将用于在 B 类中设置数组
B类:
class B
{
private:
const A** theArray;
public:
B(const A&);
};
B::B(const A& newA)
: theArray(newA) //<-- ??
{
}
当我尝试编译程序时,我收到一条错误消息“无法从 'const A' 转换为 'const A **'”
我如何将一个对象传递到成员初始化器列表中,以便我可以从中创建一个数组?
编辑 1:这是一个 comsci 课程作业。我们现在正在学习类,分配让我们为这个特定的类创建三个单独的构造函数(一个复制构造函数;一个用于将新的 A 对象添加到 B 类的“theArray”中;以及一个添加第一个 A 对象的构造函数进入'theArray'(这是有问题的构造函数)。)
这个想法是你调用列表中的第三个构造函数来创建一个对象。然后,如果您想将另一个 A 对象添加到数组中,您将调用第二个构造函数。然后,如果您想要对象的副本,您将使用复制构造函数。