I have a small C++ program that requires a large 2d array.
int distanceArray[282][9900000];
I am aware that a standard 32 bit console appli
The 64-bit PECOFF executable format used on Windows doesn't support creating executables that have a load size of greater than 2GB so you can't create statically allocated objects bigger than that. You run into a similar problem if you try create such an object on the stack using an automatically allocated object.
One possible solution would be to dynamically allocate the object:
int (*distanceArray)[9900000] = (int (*)[9900000]) calloc(282, 9900000);
Or if you want it more C++'ish and don't need it to be zero initialized like a statically allocated array would be:
int (*distanceArray)[9900000] = new int[282][9900000];