【发布时间】:2019-04-06 20:35:15
【问题描述】:
我正在尝试在 C++ 中创建一个二维数组并用用户输入填充它,但是一旦我开始输入值,程序就会停止给我“进程完成,退出代码 -1073741819 (0xC0000005)”
double ** array = new double*[col];
for( i=0;i< col; i++){
array[i] = new double [row];
}
for(i1=0;i1<row;i1++){
for(j=0;j<col;j++){
cin>> n;
array[i1][j] = n;
}
}
for(i1=0;i1<row;i1++){
cout<<" "<<endl;
for(j=0;j<col;j++){
cout<< array[i1][j];
cout<<" ";
}
}
有什么办法解决这个问题吗?
【问题讨论】:
-
您混合了行和列 - 无论是在分配中还是在使用中。
-
请不要使用原始指针和
new[],而是使用std::vector。 -
顺便说一句。它不是二维数组 - 它是指向数组的指针数组。一个更好的替代品是
std::vector(不需要所有这些news)。