Is this correct ? This is compiled with g++ (3.4) sucessfully.
int main() { int x = 12; char pz[x]; }
If you want a dynamic array on the stack:
void dynArray(int x) { int *array = (int *)alloca(sizeof(*array)*x); // blah blah blah.. }