title: compiler error with C++ std::vector of array
body: <p>the following code doesn't compile with gcc 4.7.0 (using std=c++11 -O3)</p>
  
  <pre><code>int n;
  std::vector&lt; int[4] &gt; A;
  A.resize(n);
  </code></pre>
  
  <p>the error message is length, but eventually</p>
  
  <pre><code>functional cast to array type ‘_ValueType {aka int[4]}‘
  </code></pre>
  
  <p>Is this correct? or should this compile? And more importantly, how to avoid this problem? (without defining a new struct to hold the <code>int[4]</code>)</p>
  
  <p>EDIT:</p>
  
  <p>how to solve the problem with C++98?</p>