Compiler Warning (level 4) C4204
nonstandard extension used : non-constant aggregate initializer
With Microsoft extensions (/Ze), you can initialize aggregate types (arrays, structures, unions, and classes) with values that are not constants.
Example
// C4204.c
// compile with: /W4
int func1()
{
return 0;
}
struct S1
{
int i;
};
int main()
{
struct S1 s1 = { func1() }; // C4204
return s1.i;
}
Such initializations are invalid under ANSI compatibility (/Za).