Инициализация класса без конструктора по умолчанию - PullRequest
6 голосов
/ 14 сентября 2010

Если у меня есть класс A только с конструктором копирования и конструктором с параметрами int и 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 Ответ

13 голосов
/ 14 сентября 2010

В конструкторе B вы бы сделали что-то вроде этого:

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