Por que isso é considerado uma lista estendida de inicializadores?

#include <vector>

struct foo {
    int i;
    int j;
    int k;
};

int main() {
    std::vector<foo> v(1);
    v[0] = {0, 0, 0};
    return 0;
}

Ao compilar isso usando g ++, recebo o seguinte aviso:

warning: as listas estendidas de inicializadores estão disponíveis apenas com -std = c ++ 0x ou -std = gnu ++ 0x [ativado por padrão]

Até onde eu sei, é apenas uma lista inicializadora normal. A estrutura é do tipo POD.

Isso é um bug ou estou faltando alguma coisa?

questionAnswers(2)

yourAnswerToTheQuestion