title: Initialize char**
body: <p>I'm very new to C++. I'm trying to call a function that takes in char**:</p>
  
  <pre><code>bool func(char** a) {
      //blablabla
  }
  </code></pre>
  
  <p>So it takes in an array of c-strings. I need to create a char**, but nothing works.</p>
  
  <pre><code>char** a = char[255][255]; // error: type name is not allowed
  
  char** a = new char[255][255]; // error: a value of type "char (*)[255]" cannot be used to initialize an entity of type "char **"
  
  char a[][] = {"banana", "apple"};
  char** b = &amp;a; // error: a value of type "&lt;error-type&gt; (*)[2]" cannot be used to initialize an entity of type "char **"
  </code></pre>
  
  <p>At the end I need to do:</p>
  
  <pre><code>char* a[] = {"banana", "apple"};
  </code></pre>
  
  <p>Why the first few didn't work and why the last one worked?</p>
  
  <p>Thanks in advance.</p>