Compiler Warning (level 4) C4213

nonstandard extension used : cast on l-value

With the default Microsoft extensions (/Ze), you can use casts on the left side of an assignment statement.

Example

// C4213.c
// compile with: /W4
void *a;
void f()
{
   int   i[3];
   a = &i;
   *(( int * )a )++ = 3;  // C4213
}

int main()
{
}

Such casts are invalid under ANSI compatibility (/Za).