Consider the situation:
struct a { int id; struct b { int x, y, z; }; struct b obj; }; struct b B;// Так должно быть нельзя... What does the Standard say in this situation?
Is it possible to declare a variable of type struct b in the scope where the definition of struct a is located
Logically, with the structure described inside the description of another structure, everything should be exactly the same as with variables and functions — such an embedded declaration should have a local scope.
But MinGW does that. Maybe this indefinite behavior?