我正在做一个编程项目,我在编译时遇到了一个问题.我的代码是用C++编写的:
scanf("%d %d", &number, &shares);
vector<int> graph[number];我读取变量号,并使用它初始化数组的大小。但这就产生了初始化问题,
非过氧化物元素型
vector<int>变长阵列
有人知道我能做什么来解决这个问题吗?
发布于 2014-03-15 22:34:47
您正在尝试定义向量数组,但数组不能具有运行时确定的大小。想必,您想要声明某种类型的向量,您可以这样做:
vector<int> graph(number); // vector of size = number编辑:在您的评论之后,您想要的似乎是向量的向量:
vector<vector<int>> graph(number);发布于 2014-03-15 22:36:56
查看这些相关的帖子,因为它们与您的帖子有相同的问题:
发布于 2014-03-15 22:35:31
您正在尝试创建一个向量数组,如果不通过动态分配实现这一点,这不是一件好事。如果您想要一个向量数组,请执行以下操作:
vector<int> * graph = new vector<int>[number];
...
delete[] graph;如果您想要一个大小的向量,那么执行以下操作:
vector<int> graph(number);https://stackoverflow.com/questions/22430569
复制相似问题