title: expected expected ‘const char **’ but argument is of type ‘char **’
body: <p>Here is the compile warning i have:</p>
  
  <pre><code>src/Debugger.c:219:52: warning: passing argument 2 of ‘Debugger_Command[i].Callback’ from incompatible pointer type
                   Debugger_Command[i].Callback(argc, argv);
                                                      ^
  src/Debugger.c:219:52: note: expected ‘const char **’ but argument is of type ‘char **’
  </code></pre>
  
  <p>Here is the relevant source code:</p>
  
  <pre><code>/* Definition */
  typedef void (*Debugger_Callback_t)(int argc, char const * argv[]);
  typedef struct tagDebugger_Command_t {
      /* ... */
      Debugger_Callback_t Callback;   /**&lt; Callback */
  } Debugger_Command_t;
  Debugger_Command_t const Debugger_Command[] = { /* ... */ }
  
  /* Use of the callback where the warning occurred */
  char *argv[DEBUGGER_ARG_COUNT];
  Debugger_Command[i].Callback(argc, argv);
  </code></pre>
  
  <p>What is wrong with passing a non const variable as a const parameter ?
  To my understanding, this is to make sure the string wont be modified inside the function. So why is the warning occuring ?</p>
  
  <p>Compiler: gcc version 4.9.2 (GCC) on Windows/Cygwin</p>