Почему это считается расширенным списком инициализаторов?

#include <vector>

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

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

При компиляции с помощью g++ я получаю следующее предупреждение:

warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x [enabled by default]

Насколько я могу судить, это просто обычный список инициализаторов. Структура является типом POD.

Это ошибка или я что-то упустил?

11
задан someguy 28 October 2011 в 14:42
поделиться