We recommend using Visual Studio 2017

Compiler Warning (level 4) C4203

nonstandard extension used : union with static member variable

Static union members are valid using Microsoft extensions (/Ze). Such members are invalid in the ANSI standard (/Za). Conforming to the ANSI standard ensures more portable programs. The following sample generates C4203:

// C4203.cpp
// compile with: /W4
union test
   static int a;   // C4203, remove static to resolve

int main()