First off the piece of code that VS was having trouble with that G++ didn't mind or complain at all about was this:
const unsigned int size = _vLoadedTextures.size();
GLuint textures[size];
Seems, simple enough right?
G++ doesn't throw any errors or warnings about this but VS gives me at least 3 errors.
Error 1 error C2057: expected constant expression
Error 2 error C2466: cannot allocate an array of constant size 0
Error 3 error C2133: 'textures' : unknown size
The first error makes me laugh.
Why is this an issue in VS? Does it not like sizing arrays at run time? I know I could just use malloc but seriously, wtf?
Although your integer is constant, it cannot be verified at compile time that your integer will be assigned a valid value ( > 0).