Microsoft Visual C++ (MSVC) is a C/C++ compiler by Microsoft for Windows.
Flags
Assume flags are prefixed with / (as is standard in Microsoft-land).
permissiveandpermissive-, to enable/disable non-standards conformant compilation./permissiveis the default for C++14 and C++17./permissive-is the default for C++20 and beyond.- i.e.,
/permissiveimplies that code that may be syntactically invalid with other compilers may compile fine with MSVC. This is horrible for compatibility!1
/Zcis a family of options to enable/disable standards conformance vs. an MSVC-specific extension to the language.2