C++ 初始化没有默认构造函数的类

C++ 初始化没有默认构造函数的类,c++,oop,constructor,initialization,compiler-errors,C++,Oop,Constructor,Initialization,Compiler Errors,如果我有一个类a,其中只有一个复制构造函数和一个参数为int和int的构造函数,并且我将该类放在一个类B中: class B { public: B(); private A a; } 如何在B的构造函数中初始化a 我试过a(0,0),a=a(0,0),但毫不奇怪,两者都不起作用,我收到了一封电子邮件 error: no matching function for call to ‘A::A()’ 在B的构造函数中,您将执行以下操作: B::B() : a(0, 0) {

如果我有一个类
a
,其中只有一个复制构造函数和一个参数为
int
int
的构造函数,并且我将该类放在一个类
B
中:

class B
{
public:
    B();
private
    A a;
}
如何在B的构造函数中初始化a

我试过
a(0,0)
a=a(0,0)
,但毫不奇怪,两者都不起作用,我收到了一封电子邮件

error: no matching function for call to ‘A::A()’

在B的构造函数中,您将执行以下操作:

B::B() : a(0, 0)
{
    // ctor here
}
这就是这里所说的:,但为什么呢?