С++ 11 Правильная инициализация структуры

Наличие такой структуры в С++ 11:

struct von
{
    std::string Name;
    unsigned int ID;
    std::vector<std::string> Checks;
};

Должен ли он быть инициализирован следующим образом:

    von v = {"",0,{}};

Или вот так:

    von v = {};

Оба способа, похоже, работают, но компилятор предупреждает об инициализаторах -Wmissing-field-initialization в последнем примере.

Изменить: Вот мои параметры компилятора: g++ main.cpp -ansi -Wall -Wextra -WeffС++ -std = С++ 0x. Я использую g++ (Debian 4.6.2-12) 4.6.2

Ответ 1

Это не требует инициализатора-списка вообще и отлично работает с С++ 03. Edit: (Хорошо, для инициализации вектора требуется С++ 11). При инициализации структуры или массива все явно не заданные значения инициализируются нулем, поэтому, если это то, что вы хотите = {}; будет работать нормально.