このプログラムは動的配列を生成することを目的としていますが、特定の次元を指定して書き込むと、アクセス違反エラーが発生します。例: R = 6、C = 5 はクラッシュしますが、R = 5、C = 6 はクラッシュしません。ご参考までに、この壊れたプログラムを「修正」するのは私の宿題ではありません。これはクラスで教えられた方法です。また、私の評価の一部は、この方法を使用することであるため、ベクトルはアウトです。前もって感謝します!
#include <iostream>
using namespace std;
int main(){
const int R = 6;
const int C = 5;
char **d;
d = new char *[R];
for(int i=0; i<C; ++i){
d[i] = new char[C];
}
//initialise
for(int i=0; i<R; ++i){
for(int j=0; j<C; ++j){
d[i][j] = 'd';
cout<<d[i][j];
}
cout<<endl;
}
cout<<endl;
system("pause");
return 0;
}