¿Es prudente ignorar la advertencia de “-Fuertes de apoyo” de gcc / clang?

Considere el siguiente programa:

#include <array>

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

La primera inicialización lleva a advertencias en gcc 4.7.2 ...

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

... y clang 3.1

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

En lo que se refiere a la norma, no debería haber diferencia entre llaves dobles o simples, al menos en este ejemplo.

Hay dos formas de lidiar con la advertencia:

Solo apágaloArregla el código, para que el compilador esté contento.

¿Qué propones? En mi humilde opinión, la doble expresión rizada se ve algo fea. Por otro lado, la advertencia podría detectar problemas reales en ejemplos más complicados. ¿Conoces un ejemplo en el que la advertencia te hubiera ayudado?

Respuestas a la pregunta(4)

Su respuesta a la pregunta