Имея структуру, как это в C++ 11:C++ 11 Правильная структура инициализации
struct von
{
std::string Name;
unsigned int ID;
std::vector<std::string> Checks;
};
Должен ли он быть инициализирован, как это:
von v = {"",0,{}};
Или так:
von v = {};
Оба способа, похоже, работают, но компилятор предупреждает о инициализаторах поля ввода-вывода в последнем примере.
Редактировать: Вот мои параметры компилятора: g ++ main.cpp -ansi -Wall -Wextra -WeffC++ -std = C++ 0x. Я использую g ++ (Debian 4.6.2-12) 4.6.2
В вашем примере нет списков инициализаторов, только инициализация списка. Лучшим способом может быть «von v {};». –
von v {}; также жалуется на отсутствие инициализаторов для членов. Это предупреждение инициализатора -Wmissing-field-initializer. – 01100110
Хм, ты прав. Жаль, что вы не можете инициализировать автоматическую переменную ... 'von v {{}, 0, {}};' следующая лучшая вещь. –