Variable length arrays on stack are not valid C++