This documentation is archived and is not being maintained.

Compiler Warning (level 4) C4204

Error Message

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.


// 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).