É sensato ignorar o aviso “-Wmissing-braces” do gcc / clang?

Considere o seguinte programa:

#include <array>

int main()
{
  std::array<int, 1> x = { 0 }; // warning!
  x = { { 0 } }; // no warning
  return 0;
}

A primeira inicialização leva a avisos no gcc 4.7.2 ...

main.cpp:5:22: warning: unused variable ‘x’ [-Wunused-variable]

... e clangor 3.1

main.cpp:5:28: warning: suggest braces around initialization of subobject [-Wmissing-braces]
  std::array<int, 1> x = { 0 };

No que diz respeito ao padrão, não deve haver diferença entre chaves duplas ou simples, pelo menos neste exemplo.

Existem duas maneiras de lidar com o aviso:

Apenas desligueCorrigir o código, então o compilador está feliz

O que você propõe? IMHO, a expressão dupla encaracolada parece um pouco feia. Por outro lado, o aviso pode detectar problemas reais em exemplos mais complicados. Você conhece um exemplo em que o aviso teria ajudado você?

questionAnswers(4)

yourAnswerToTheQuestion