2013-10-27 6 views
0

Прежде всего, да, я новичок в векторах C++.C++ Векторное значение не назначено

Теперь мой вопрос: почему, по-вашему, мой вектор пуст?

У меня есть глобальная переменная:

vector<int> parentVector; 

Теперь, так как это глобальная переменная, и я не знаю, какого размера она должна быть, только потом в программу, я делаю это в какой-то момент:

//numberOfNodes = 8 in current example 
parentVector.reserve(numberOfNodes); 

И чуть позже, я стараюсь, чтобы присвоить значение первого элемента вектора, но он не работает:

parentVector[0] = -1; 

И я также следующие, не присвоить любое значение или:

//nextNode.node and currentNode.node is between the range of 1 - 8, thus the - 1. 
parentVector[nextNode.node - 1] = currentNode.node - 1; 

Edit: Спасибо за ваши ответы, размер() работал.

+2

либо используйте 'resize' с' [] 'accessor, либо просто используйте' push_back' – lolando

ответ

2

Резервирование пространства в векторе с использованием std::vector::reserve не совпадает с добавлением к нему элементов. После резервирования вектор все еще пуст. Вместо этого используйте std::vector::resize.

Смежные вопросы