Разумно ли игнорировать предупреждение «-Wmissing-Bracks» от gcc / clang?
Рассмотрим следующую программу:
#include
int main()
{
std::array x = { 0 }; // warning!
x = { { 0 } }; // no warning
return 0;
}
Первая инициализация приводит к предупреждениям на gcc 4.7.2 ...
main.cpp:5:22: warning: unused variable ‘x’ [-Wunused-variable]
... и лязг 3.1
main.cpp:5:28: warning: suggest braces around initialization of subobject [-Wmissing-braces]
std::array x = { 0 };
Что касается стандарта, не должно быть никакой разницы между двойными или одинарными фигурными скобками, по крайней мере, в этом примере.
Есть два способа справиться с предупреждением:
Просто выключиИсправьте код, чтобы компилятор был доволенЧто вы предлагаете? ИМХО, двойное вьющееся выражение выглядит несколько некрасиво. С другой стороны, предупреждение может обнаружить реальные проблемы в более сложных примерах. Вы знаете пример, где предупреждение помогло бы вам?