首先,是的,我是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;
编辑:感谢您的回答,调整大小()工作。
答案 0 :(得分:3)
使用std::vector::reserve
在向量中保留空间与向其添加元素不同。保留向量后仍然是空的。请改用std::vector::resize
。