Access Violation When Writing Dynamic 2D Array... Sometimes

Posted by Shraptnel on Stack Overflow See other posts from Stack Overflow or by Shraptnel
Published on 2010-04-12T01:57:03Z Indexed on 2010/04/12 2:03 UTC
Read the original article Hit count: 489

This program is meant to generate a dynamic array, however it gives an access violation error when writing when given certain dimensions. Eg: R = 6, C = 5 crashes, but then R = 5, C = 6 doesn't. In case your wondering, it isn't my homework to "fix" this broken program, this is the method we were taught in class. Also part of my assessment is to use this method, so vectors are out. Thanks in advance!

#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;
}

© Stack Overflow or respective owner

Related posts about c++

Related posts about dynamic-arrays