Здравствуйте, Данилович Алексей, Вы писали:
ДА>Доброго времени суток.
ДА>Вопрос следующий. В.h файле объявлен какой-то класс, членом которого является:
ДА>class some {
ДА>....
ДА>vector<some_type> a;
ДА>};
ДА>В каком-то месте в реализации мне надо задать реальный размер этого вектора. Пытаюсь сделать это двумя способами:
ДА>...
ДА>int size=...;
ДА>a=vector<some_type>(size); // 1-ый способ
ДА>a.assign(size,zerostructure); // 2-ой способ
ДА>....
ДА>Оба варианта нормально компилируются. И при исполнении вылетает ошибка access violation в коде _algobase.h. Поясните, пожалуйста, что может быть не так, и как еще можно указать размер вектора. Пользуюсь C++Builder 6.
ДА>Огомное спасибо.
Изменять размер следует через функцию resize.
vector<int> x;
x.resize(10); // 10 элементов
x.resize(100); // 100 элементов