我不完全确定我的情况的措辞,这使得很难找到答案。基本上如果有一个A类的私有成员属于另一个B类(有一个关系),我该如何创建A类的构造函数?
A类构造函数:
classA::classA(int a, int b, classB c);
这给了我“错误:没有用于调用'classB :: classB()'的匹配函数,然后根据他们的参数和我提供的数量列出候选者;当然也包括'c之前的预期主要函数'。我可能遗漏了一些非常大的东西,这就是为什么代码非常通用所以我只需要一个通用的答案来指出我正确的方向。你可以假设B和A的其余代码尽可能小。谢谢!
答案 0 :(得分:1)
据我了解,您在A类中有一个私有成员B,您不会在构造函数的初始化列表中初始化。因此,调用B的默认构造函数,因为错误建议不可用。
class A {
B b;
public:
A(/* parameters */)
: b(/* parameters to construct b */) // missing part
{ }
};