title: Why we can directly copy pointers, but we can not directly copy arrays in c++
body: <p>Theorem says that we cannot initialize an array as a copy of another array. 
  But we can initialize pointer as a copy of pointer that points to the first element of another array:</p>
  
  <pre><code>int a[] = {0, 1, 2}; 
  int a2[] = a;       //error
  int *a3 = a;        //OK
  </code></pre>
  
  <p>Why <code>int a2[] = a;</code> is an error?</p>