Являются ли значения, переданные в предыдущие места в заданном месте в совокупном списке инициализации, безопасными для чтения из соответствующих членов? [Дубликат]
На этот вопрос уже есть ответ здесь:
Определено ли поведение для ссылки на ранний член из более позднего выражения члена во время инициализации агрегата? 4 ответаstruct
{
int a,b;
} s = {5, s.a+1};
Согласно стандарту, безопасно ли читать «s.a» в приведенном выше примере, чтобы s инициализировалось равным a = 5 и b = 6? Если так, большинство компиляторов подчиняются этому правилу?
(Выше компилируется в VC10.)