A dynamic 2D array is basically an array of pointers to arrays. You should initialize it using a loop, like this:
int** ary = new int*[rowCount];
for(int i = 0; i < rowCount; ++i)
ary[i] = new int[colCount];
The above, for colCount= 5
and rowCount = 4
, would produce the following: