title: pointer-to-const conversion in C
body: <p>The following code compiles without warning on GCC but gives a warning in Visual Studio 2005.</p>
  
  <pre><code>const void * x = 0;
  char * const * p = x;
  </code></pre>
  
  <p>x points to a constant object of unknown type, and p points to a constant pointer to char. Why should the assignment to p result in a warning?</p>
  
  <p>Again, this is C, not C++. Thanks.</p>