代码之家  ›  专栏  ›  技术社区  ›  wrongusername

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

  •  6
  • wrongusername  · 技术社区  · 16 年前

    如果我有课 A 只有一个复制构造函数和一个带参数的构造函数 int 和 ,我把这个类放在一个类中 B

    class B
    {
    public:
        B();
    private
        A a;
    }
    

    如何初始化 a 在B的构造器里?

    我试过了 a(0, 0) , a = A(0, 0) ,但毫不奇怪,两者都不起作用,我收到了

    error: no matching function for call to ‘A::A()’
    
    1 回复  |  直到 16 年前
        1
  •  13
  •   Starkey    16 年前

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

    B::B() : a(0, 0)
    {
        // ctor here
    }