title: What does the C++ compiler do when coming ambiguous default parameters?
body: <p>What does the C++ compiler do when coming ambiguous default parameters? For example, let's say there was a function such as:</p>
  
  <pre><code>void function(int a = 0, float b = 3.1);
  void function(int a, float b =1.1, int c = 0);
  </code></pre>
  
  <p>Is the above considered ambiguous? If not, what does the compiler do (how is the function matched exactly) when calling something like <code>function1(10)</code> ?</p>
  
  <p>Thanks!</p>