title: Why can't I pass an rvalue-reference as it is to another function in C++11?
body: <p>I have a code:</p>
  
  <pre><code>void f(int&amp;&amp; i) {
    auto lambda = [](int&amp;&amp; j) { (void)j; }
    lambda(i);
  }
  
  int main() {
    f(5);
  }
  </code></pre>
  
  <p>Clang++ gives an error: <code>no known conversion from 'int' to 'int &amp;&amp;' for 1st argument</code></p>
  
  <p>Why the <code>i</code> changes its type to <code>int</code> when being passed to the <code>lambda()</code>?</p>