首页 > 解决方案 > 为什么我的向量需要一个常数值?

问题描述

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

int nodes = 5;

vector<int> adjacencyList[nodes];

标签: c++vectorgraphadjacency-list

解决方案


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

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

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

推荐阅读