title: C++ const question
body: <p>If I do this:</p>
  
  <pre><code>// In header 
  class Foo {
  void foo(bar*);
  };
  
  // In cpp
  void Foo::foo(bar* const pBar) {
  //Stuff
  }
  </code></pre>
  
  <p>The compiler does not complain that the signatures for Foo::foo do not match. However if I had:</p>
  
  <pre><code>void foo(const bar*); //In header
  void Foo::foo(bar*) {} //In cpp
  </code></pre>
  
  <p>The code will fail to compile.</p>
  
  <p>What is going on?
  I'm using gcc 4.1.x</p>