title: "warning: type defaults to ‘int’ in type name" when declaring const char*
body: <p>I'm writing a very simple C program, which begins like this:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;string.h&gt;
  
  int
  main( int argc, char **argv ){
  
    // check that the program has been invoked correctly
    if( argc &lt; 3 ){
      fprintf( stderr, "Usage: find_char &lt;string&gt; &lt;string&gt;.\n" );
      exit( EXIT_FAILURE );
    }
  
    char const *source = (const) (*++argv); 
  </code></pre>
  
  <p>For the last line, I get the following warning:</p>
  
  <p><code>main.c:17:3: warning: type defaults to ‘int’ in type name [enabled by default]
     char const *source = (const) (*++argv);</code></p>
  
  <p>I tried:</p>
  
  <pre><code>char const *source = NULL;
  source = (const) (*++argv);
  </code></pre>
  
  <p>but gives the same varning for the second line. What is going on here?</p>