title: Why const pointer difference cannot be used as initializer for a static variable?
body: <p>Compiling following piece of C code (using MSVC):</p>
  <pre><code>char * const p1;
  char * const p2;
  static size_t sz = p2 - p1;
  </code></pre>
  <p>results in &quot;initializer is not a constant&quot; error for definition of sz.</p>
  <p>As pointers are const (tried also with arrays, same error), why is pointer diff not constant?</p>