title: Cannot convert (*)[] to **
body: <p>If I create a file:</p>
  
  <p>test.cpp:</p>
  
  <pre><code>void f(double **a) {
  
  }
  
  int main() {
      double var[4][2];
      f(var);
  }
  </code></pre>
  
  <p>And then run:
  g++ test.cpp -o test</p>
  
  <p>I get</p>
  
  <pre><code>test.cpp: In function `int main()':
  test.cpp:8: error: cannot convert `double (*)[2]' to `double**' for argument `1'
   to `void f(double**)'
  </code></pre>
  
  <p>Why is that I can't do this? </p>
  
  <p>Isn't double var[4][2] is the same as doing double **var and then allocating the memory?</p>