Как вытащить вектор из private и присвоить ему размер
Есть класс
```class
Person
{
private:
vector<Account*> acc;
..
}
```
при вызове в main - надо, чтобы acc принял значение размера.Пробую в public записать
```
void Person::setAccount( int x)
{
acc=acc(x);
}
std::vector<Account*> Person::getAccount()
{
return acc;
}
```
Естественно выдает ошибку..
Ответы (2 шт):
Автор решения: Harry
→ Ссылка
Непонятно, что вы хотите. Изменить размер вектора? ("Чтобы acc принял значение размера")?
Тогда просто
void Person::resize(size_t x)
{
acc.resize(x);
}
Что до вашего
std::vector<Account*> Person::getAccount()
{
return acc;
}
И какую ошибку выдает здесь?..
Автор решения: AR Hovsepyan
→ Ссылка
В зависимости от того, что вам нужно _ добавить такой конструктор:
explicit Person(size_t n = 0) noexcept
: acc(vector<Account*>(n)) {}
(тогда объект Person(5) , будет иметь вектор размера 5).
Или оператор:
Person& operator =(const vector<Account*>&);
и много других вариантов...