nonstandard extension used : cast on l-value
Microsoft C/C++ allows casts to be used on the left side of an assignment statement.
The following is an example of this error:
void *a;
void f()
{
int i[3];
a = &i;
*(( int * )a )++ = 3; // warning
}
This extension can prevent your code from being portable to other compilers and will generate an error under the /Za command-line option.