Re: как задать размер вектора в STL
От: _nn_  
Дата: 23.11.04 08:07
Оценка:
Здравствуйте, Данилович Алексей, Вы писали:

ДА>Доброго времени суток.

ДА>Вопрос следующий. В.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 элементов
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.