我正在使用以下类声明:
class A {
public:
A(int, float);
A(const A&);
};
class B {
public:
B(A&);
protected:
A a;
};
我还为 B 设置了以下定义:
B::B(A &a) {
this->a = a;
}
问题是我的B
构造函数定义有一个错误,告诉我有No matching function for call to A::A()
.
为什么我的 B 构造函数试图创建一个新的 A?
如果需要上一步,为什么不使用引用调用复制构造函数?