Как вытащить вектор из 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*>&); 

и много других вариантов...

→ Ссылка