struct MyStruct
{
int x = 5;
};
...
MyStruct myStructs[100];
It was insisting very passionately that you need MyStruct myStructs[100] = {}; instead.I even showed msvc assembly output and pointed to the place where it is looping & assigning all x values and then it started hallucinating about msvc not conforming the standards. Then I did it for gcc and it said the same. It was surreal how strongly it believed it was correct.
What makes it invalid is "= 5", and lack of "struct" before "MyStruct" (could have used typedef).