title: passing const pointer by reference
body: <p>I am confused that why following code is not able to compile </p>
  
  <pre><code>int foo(const float* &amp;a) {
      return 0;
  }
  int main() {
      float* a;
      foo(a);
  
      return 0;
  }
  </code></pre>
  
  <p>Compiler give error as:  </p>
  
  <blockquote>
    <blockquote>
      <p>error: invalid initialization of reference of type 'const float*&amp;' from expression of type 'float*'</p>
    </blockquote>
  </blockquote>
  
  <p>but when I try to pass without by reference in foo, it is compiling fine.  </p>
  
  <p>I think it should show same behavior whether I pass by reference or not.</p>
  
  <p>Thanks,</p>