title: why is this conflicting type declaration?
body: <p>I have compilation problem as follows. Header file <code>abc.h</code> is included by <code>abc.c</code>. </p>
  
  <p>In the header file, i have this</p>
  
  <pre><code>extern char **foo;
  </code></pre>
  
  <p>in the source file, i have this</p>
  
  <pre><code>char *foo[] = { ".mp3", ".mp4" };
  </code></pre>
  
  <p>Yet i get a compilation error from GCC:</p>
  
  <pre><code>abc.c:23:7: error: conflicting types for ‘foo’
  In file included from abc.c:18:0:
  abc.h:64:15: note: previous declaration of ‘foo’ was here
  </code></pre>
  
  <p>Why am i getting this error?</p>