title: What if the lambda expression of C++11 supports default arguments?
body: <p>I think the following code is very handy and no harmful:</p>
  
  <pre><code>auto fn = [](bool b = false) -&gt; int // NOT legal in C++11
  {
      return b ? 1 : 0;
  }; 
  </code></pre>
  
  <p>Why does C++11 explicitly prohibit default arguments of the lambda expression?</p>
  
  <p>I just wonder the rationales and considerations behind.</p>
  
  <p>I want to know "WHY" rather than "WHAT" the C++11 standard says.</p>