C++ 0x draft¿Por qué las uniones anónimas globales deben declararse como estáticas?
9.5.6 uniones anónimas declaradas en un espacio de nombres con nombre o en el espacio de nombres global se declararán estática.
¿Por qué?
Update-
Sobre la base de Bart van Ingen Schenau y respones Lothar, la mejor explicación hasta el momento podría ser la siguiente:
Si la misma unión anónima mundial se encuentra en dos unidades de traducción (por ejemplo , a través de un archivo de encabezado), entonces, ¿cómo se puede cumplir la Regla de una sola definición? ¿Las dos definiciones son tratadas como iguales y fusionadas? ¿O las dos definiciones son tratadas como diferentes? Si se los trata como iguales, entonces el compilador presumiblemente está haciendo 'magia', de lo contrario no se aplica a otras entidades. Si se los trata como iguales, entonces el compilador lo hace sin el consentimiento explícito del programador ... por lo que supongo que se requiere el consentimiento explícito al exigir que se declare como estático.
Esto más la respuesta de Bart van Ingen Schenau juntos podría ser la mejor explicación hasta el momento. – Vatsan