我这里有一个非常简单的函数定义:
void testRvalue(int&& r)
{
printf("rvalue ref is called\n");
testRvalue(r); // this line gives "no known conversion from 'int' to 'int &&' for 1st argument"
}
我指的是这个函数内部,
r
的类型是什么?它不是 int&&
吗?(因为参数是 int&& r
,所以为什么 r
不是 int&&
类型?)如果是这样,为什么不能将这个 r
传递给需要 int&&
类型参数的函数本身?
r
究竟是什么类型?int&&
还是 int
?如果是 int
,为什么?