I'm converting a program which uses a (stack based) temporary multi-dimensional array. The array size is not known at compile time so the existing code (from Linux) looks like this:-

void MakeConnections (int x, int y)
        // Create a temporary array
        int connections[x][y];

        // rest of function....
My understanding is that this is a C99 extension which isn't supported by our current compiler (VC8). Can I achieve the same thing with std::vector or is there a better object for achieving this? Later on in the program I'll need to access the elements in the usual array style - e.g. int x = connections[0][0]; or something similar.