title: Anonymous union/struct of class with constructor
body: <p>GCC complains about this code even though I compile with <code>-std=c++11</code> flag, and my gcc version supposedly supports Unrestricted unions (>4.6). </p>
  
  <pre><code>union 
  {
      struct 
      {
          float4 I,J,K,T;
      };
      struct 
      {
          float4 m_lines[4];
      };
      struct
      {
          float m16f[16];
      };
      struct 
      {
          float m44f[4][4];
      };
  };
  </code></pre>
  
  <p>Note that float4 has a non-default constructor that takes 0 parameters.</p>
  
  <pre><code>class float4 
  {   
      public:
         float4();
   ....
  };
  </code></pre>
  
  <p>Any idea of what I could do ? The error is :</p>
  
  <pre><code>&lt;anonymous union&gt;::&lt;anonymous struct&gt;::I’ with constructor not allowed in anonymous aggregate
  </code></pre>