c++ - 为什么我的向量需要一个常数值?
问题描述
我正在尝试使用向量进行邻接列表图实现。在我的向量声明中,我不断收到“表达式必须具有常量值”的错误。我不明白为什么会出现这个错误,因为我认为向量已经是动态数组,这不会是一个问题。
int nodes = 5;
vector<int> adjacencyList[nodes];
解决方案
数组变量的大小必须是编译时常量,与数组元素的类型无关。
有点不清楚您的数组声明是否是故意的。如果你想要一个动态的向量数组,那么你可以使用一个向量向量。如果您的意图是创建单个向量,则不要使用方括号,因为方括号是数组的语法。以下是如何初始化特定大小的单个向量的示例:
std::vector<int> adjacencyList(nodes);
推荐阅读
- javascript - JavaScript 用 for 循环替换字符
- hadoop - 如何在配置单元管理表中添加分区?
- undefined - 类型 'undefined' 不能分配给类型 '{ id: number; 名称:字符串;状态:字符串;}'
- python - Python函数输出到json问题
- activiti - Activiti 建模应用程序版本 7.1.0-M13
- bash - docker 基础: docker run -it 带或不带 /bin/bash
- amazon-web-services - 通过 CodePipeline 将 Prisma ORM 部署到 Elastic Beanstalk 的 CI/CD
- python - 我正在尝试创建卡方特征选择,但是加载数据集时出错
- data-migration - 将 ENUM 列从 mysql 迁移到 TiDB
- reactjs - minLength 在打字稿中不起作用,做出反应