struct s
{
char x[4];
};
int main()
{
char xx[4] = {0};
s s{.x = xx};
}
/tmp/test.cpp:9:14: error: array must be initialized with a brace-enclosed initializer
9 | s s{.x = xx};
Как это сделaть?
UPD: чтобы не было вопросов, просто «{0}» подставить в инициализаторе не получится, т.к. значение передается аргументом в функцию (в моем примере этого нет ради упрощения).