Fix compilation with Visual C++/Windows

Use alloca when compiling under Visual C++ because variable length arrays are not currently supported.

This is being tested locally, but I believe this would have no impact on non-Windows/VC compiles since _MSC_VER is only defined by VC.