title: too many initializers for 'int [0]' c++
body: <p>First:</p>
  
  <pre><code>int k[] ={1,2,3,4,5};
  </code></pre>
  
  <p>Second:</p>
  
  <pre><code>struct slk
  {
      int k[] ={1,2,3,4,5};
  };
  </code></pre>
  
  <p>for those two statements, why does the first one pass the compilation but the second one give me </p>
  
  <blockquote>
    <p>error:too many initializers for 'int [0]'. the compilation would passed if I set k[5]; </p>
  </blockquote>
  
  <p>What does this error message means? Note: code tested on GNU GCC version 4.7.2</p>