CL /Za


The option is /Za only.


The /Za option

This option passes to both the front-end and back-end compilers (C1, C1XX and C2).


The /Za option disables numerous variations that Microsoft makes to the language and is pleased to refer to as the Microsoft language extensions. Put another way, the option directs the compiler to conform to Microsoft’s notion of the standard language. In this sense, /Za is just the opposite of /Ze (which is the option under which these notes describe the language extensions).

The /Za option also enables /Op, unless explicitly directed not to (by /Op-).

It must be observed that the /Za option is essentially useless in practice for Windows Programming. Key headers in the Platform SDK simply assume the use of Microsoft’s extensions, both of the admittedly useful (such as anonymous nested classes) and of some that are no more than lazy props for old code (as with keywords recognised with one leading underscore).