标签:
1 #include <utility> 2 3 struct A 4 { 5 void f() && { } 6 }; 7 8 void g(A &&a) 9 { 10 a.f(); //error, a是左值 11 std::move(a).f(); //fine 12 } 13 14 int main() { return 0; }
其实有了右值表示临时对象这一观察结果,变量是左值这一特性并不令人惊讶。毕竟,变量是持久的,直到离开作用域时才被销毁。(《C++ Primer》)
error C2662 无法将左值绑定到右值 —— 变量永远是左值,即使它的类型为右值引用
标签:
原文地址:http://www.cnblogs.com/qzki/p/5243581.html