Compiles with the /Ze switch...but my question is...why?
My question would be: why not without. Adding const to an objet should always be possible. Some compiler have problems when there's more than 1 '*' in a row. But since nothing dangerous can happen it should be allowed.
Typically such hacks are put in to avoid recoding large swathes of code. This gives the products time to catch up.
An example of this was the scope of variables in for loops. Microsoft was late in doing this correctly and required a command line option to switch on support for the feature.
That reminds of one time I disabled all the C++ language extensions in Visual Studio and I started getting compiler errors pointing to standard headers... durp a dee