繁体   English   中英

从变量初始化数组(C ++)

[英]Initialising array from a variable (C++)

我正在做一个编程项目,我在编译时遇到了一个问题...我用C ++编写了这个代码:

scanf("%d %d", &number, &shares);
vector<int> graph[number];

我读取变量号,并用它来初始化数组的大小。 但这会产生初始化问题,

非POD元素类型vector<int>可变长度数组

有谁知道我能做些什么来解决这个问题?

您正在尝试定义向量数组,但数组不能具有运行时确定的大小。 据推测,您想要声明某种类型的向量,您可以这样做:

vector<int> graph(number); // vector of size = number

编辑 :在您的评论之后,似乎您所追求的是向量的向量:

vector<vector<int>> graph(number);

您正在尝试创建一个向量数组,如果您不通过动态分配执行此操作,这不是一件好事。 如果您想要一个向量数组,请执行以下操作:

vector<int> * graph = new vector<int>[number];
...
delete[] graph;

如果你想要一个大小编号的矢量,那么这样做:

vector<int> graph(number);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM