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

 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》)

 

 

转载于:https://www.cnblogs.com/qzki/p/5243581.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值