C++ 未分配矢量值

C++ Vector value isn't assigned

本文关键字:分配 C++      更新时间:2023-10-16

首先,是的,我是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;

编辑:感谢您的回答,resize() 有效。

使用 std::vector::reserve 在向量中保留空间与向其添加元素不同。保留后,向量仍然为空。请改用std::vector::resize