C++ 从变量(C+;+;)初始化数组
我目前正在做一个编程项目,我在编译时遇到了一个问题。。。我用C++编写了以下代码:C++ 从变量(C+;+;)初始化数组,c++,multidimensional-array,functional-programming,initialization,C++,Multidimensional Array,Functional Programming,Initialization,我目前正在做一个编程项目,我在编译时遇到了一个问题。。。我用C++编写了以下代码: scanf("%d %d", &number, &shares); vector<int> graph[number]; scanf(“%d%d”、&number和shares); 向量图[数]; 我读取变量号,并使用它初始化数组的大小。但这会产生初始化问题 非POD元素类型的可变长度数组vector 有人知道我能做些什么来解决这个问题吗?您正试图定义一个向量数组,但数组的大小不能
scanf("%d %d", &number, &shares);
vector<int> graph[number];
scanf(“%d%d”、&number和shares);
向量图[数];
我读取变量号,并使用它初始化数组的大小。但这会产生初始化问题
非POD元素类型的可变长度数组vector
有人知道我能做些什么来解决这个问题吗?您正试图定义一个向量数组,但数组的大小不能由运行时确定。假设您想声明某种类型的向量,您可以这样做:
vector<int> graph(number); // vector of size = number
矢量图(数字);//大小向量=数量
编辑:在你的评论之后,你想要的似乎是一个向量向量:
vector<vector<int>> graph(number);
矢量图(数字);
您试图创建一个向量数组,如果不通过动态分配来实现这一点,这不是一件好事。如果需要向量数组,请执行以下操作:
vector<int> * graph = new vector<int>[number];
...
delete[] graph;
vector*graph=新向量[数字];
...
删除[]图;
如果要获得大小为number的向量,请执行以下操作:
vector<int> graph(number);
矢量图(数字);
检查这些相关帖子,因为它们与您的问题相同: