码迷,mamicode.com
首页 > 其他好文 > 详细

error C2662 无法将左值绑定到右值 —— 变量永远是左值,即使它的类型为右值引用

时间:2016-03-04 22:22:29      阅读:345      评论:0      收藏:0      [点我收藏+]

标签:

 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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!