Как установить пустой вектор объекта в C ++? - PullRequest
2 голосов
/ 29 февраля 2012

Я хочу создать конструктор по умолчанию для моего объекта A. Моя проблема в том, что одна из переменных объекта A - это векторный массив объектов B.

По сути, строка, вызывающая мои проблемы, в настоящее время выглядит следующим образом:

A(): name(""), bArray({B()}), n(0) {}

Должна быть некоторая синтаксическая проблема.

Полный конструктор выглядит так:

A(string n,  vector<B> in, int k): name(n), bArray(in), n(k) {}

Ответы [ 2 ]

5 голосов
/ 29 февраля 2012

Вам не нужно инициализировать vector в списке инициализатора. Классы-члены уже созданы с использованием конструктора по умолчанию, который в вашем случае инициализирует ваш вектор пустым.

3 голосов
/ 29 февраля 2012

Поскольку n и in будут иметь свои собственные конструкторы по умолчанию, вам не нужно явно инициализировать их.Просто инициализируйте k в 0, пропустите два других, и все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...