title: C++: Type of multidimensional array with `variable` size
body: <p>I can run this</p>
  <pre><code>int a = 5; 
  auto foo = new int [a][4][4];
  </code></pre>
  <p>But when I try this:</p>
  <pre><code>int a = 5; 
  int * foo[4][4];
  foo = new int [a][4][4];
  </code></pre>
  <p>I get the error</p>
  <pre><code>error: incompatible types in assignment of ‘int (*)[4][4]’ to ‘int* [4][4]’
  </code></pre>
  <h3>Question</h3>
  <p>What type do I have to specify for <code>foo</code>?</p>
  <p>Edit:
  The goal is to have one single chunk of memory, not an array of pointers.</p>