title: Default parameters in constructor gives compile time errors
body: <p>I had learned that we can give default parameters to the constructor so that it initializes the values if not provided explicitly in code, but when I am trying to create an object of my class, it does not work. It does not take those default values if not provided, and it gives me an error which says:
  <code>error: no matching function for call to ‘Person::Person(const char [6], int)</code></p>
  
  <pre><code>Person::Person( string aName = "ANY", int age = 18 ) {
  cout &lt;&lt; "Constructor called!" &lt;&lt; endl;
  this-&gt;name = aName;
  this-&gt;age = age;
  }
  </code></pre>
  
  <p>Now when I call this in my main:</p>
  
  <pre><code>Person p( "Steve" );
  </code></pre>
  
  <p>It gives me the mentioned error and <code>age</code> does not get initialized by default to 18.</p>
  
  <p>I am using eclipse for C/C++ IDE</p>