title: C++0x lambda capture by value always const?
body: <p>Is there any way to capture by value, and make the captured value non-const?  I have a library functor that I would like to capture &amp; call a method that is non-const but should be.</p>
  
  <p>The following doesn't compile but making foo::operator() const fixes it.</p>
  
  <pre><code>struct foo
  {
    bool operator () ( const bool &amp; a )
    {
      return a;
    }
  };
  
  
  int _tmain(int argc, _TCHAR* argv[])
  {
    foo afoo;
  
    auto bar = [=] () -&gt; bool
      {
        afoo(true);
      };
  
    return 0;
  }
  </code></pre>