[英]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.