So, how would that work with a multi-dimensional array? When I tried, I got a compiler error.

Code:
cannot convert `TILE (*)[((rows - 1) + 1)]' to `TILE*' in  assignment
I have it declared like:
Code:
typedef struct TILE
{
    int tile;
    int collision;
}TILE;

int columns = 25;           // Number Of Columns
int rows = 19;                // Number Of Rows
TILE *map;                    // The Map

map = new TILE[columns][rows];

(all that junk in main...)

delete []map;
What is it that I'm doing wrong.