为什么我的向量需要一个常量值?

Why does my vector need a constant value?

我正在尝试使用向量实现邻接表图。在我的矢量声明中,我不断收到“表达式必须具有常量值”的错误。我不明白为什么会出现此错误,因为我认为向量已经是动态数组,这不会有问题。

int nodes = 5;

vector<int> adjacencyList[nodes];

数组变量的大小必须是编译时常量,无论数组元素的类型如何。

有点不清楚您的数组声明是否是故意的。如果你想要一个动态的向量数组,那么你可以使用一个向量的向量。如果您打算创建单个向量,则不要使用方括号,因为方括号是数组的语法。以下是如何初始化特定大小的单个向量的示例:

std::vector<int> adjacencyList(nodes);