Why can we not define a low + top-level const pointer to a pointer to int?
<ol>
<li><p>Define int and pointer to int:</p>

<p><code>int i = 22, *p = &amp;i;</code></p></li>
<li><p>Define pointer that is low level and top-level const: </p>

<p><code>const int *const cp = p;</code></p>

<p>(2) is alright - const point with no permission to change the value (of i)</p></li>
<li><p>Definie a pointer to a pointer that is low+top-level const: </p>

<p><code>const int **const cp_2_p = &amp;p;</code></p>

<p>(3) isn't alright, why?</p>

<p><code>error C2440: 'initializing' : cannot convert from 'int **' to 'const int **const</code></p></li>
</ol>

<p>I'd expect to be able to define a pointer to a pointer to <code>int</code> where I cannot change the address it points to nor the address the pointer it points to, points to.</p>
