int a[3]{1,2,3}; //ok
int b[]{1,2,3}; //ok
struct XY
{
int x[3]{1,2,3}; //ok
int y[]{1,2,3}; //ill-formed?
};
However, I can't find wording in the working draft that prohibits this usage. I suspect this usage was simply overlooked when NSDMIs were added. Should it be prohibited?
The declaration of XY::y is *not* followed by an initializer; it's followed by a brace-or-equal-initializer, so this does not apply.