Являются ли значения, переданные в предыдущие места в заданном месте в совокупном списке инициализации, безопасными для чтения из соответствующих членов? [Дубликат]

На этот вопрос уже есть ответ здесь:

Определено ли поведение для ссылки на ранний член из более позднего выражения члена во время инициализации агрегата? 4 ответа
struct
{
    int a,b;
} s = {5, s.a+1};

Согласно стандарту, безопасно ли читать «s.a» в приведенном выше примере, чтобы s инициализировалось равным a = 5 и b = 6? Если так, большинство компиляторов подчиняются этому правилу?

(Выше компилируется в VC10.)

Ответы на вопрос(1)

Ваш ответ на вопрос