#include <iostream>
#include <vector>
using namespace std;
int m,n;
vector<vector<int> > name(m,vector<int>(n));
int main()
{
cin>>m>>n;
for ( int i=0;i<m;i++)
{
for( int j=0;j<n;j++)
cin>>name[i][j];
}
}
Run Code Online (Sandbox Code Playgroud)
每次我给的输入m和n,崩溃!我想要做的是将输入提供给m行和n列的二维数组.
你需要初始化向量(或调整其大小)后,你读出的值m和n.正如你所拥有的那样,m并且n在向量初始化时为0*,因此向量的大小为0.
*这只是因为您将它们放在全球范围内.如果放在一个函数中,它们将是未初始化的,并且使用它们的值将是未定义的行为
因为你已经跑出了界限.
该name向量是全局变量,因此在程序启动的那一刻甚至在初始化,main函数.整数全局变量也在0C++ 中初始化.因此name矢量的大小为零.
阅读n和m值后,您需要调整向量的大小.
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |