C ++中type &&变量的右值性

时间:2018-08-07 19:36:32

标签: c++ c++11 move-semantics

我对C ++中变量的右值类型感到困惑。 下面的代码为我提供了以下编译器错误

错误:无法将“ int &&”类型的右值引用绑定到“ int”类型的左值f1(b);

void f1(int&& a)
{
    std::cout << "f1 called." << std::endl;
}

int main()
{
    int a = 7;
    int&& b = std::move(a);
    f1(b);
}

将b移至f可解决问题

 f1(std::move(b));

b的类型显然是int &&。在这种情况下,b如何被视为左值?

0 个答案:

没有答案