我有一个类Foo。我想要一个函数TakeFoo,它接受一个Foo对象并调用它的方法。这就是我的开头:voidTakeFoo(constFoo&);但是,我还需要能够对其调用非常量方法。所以我把它改成这样:voidTakeFoo(Foo&);但是,当我尝试向它传递一个临时变量时,这会导致警告。所以我创建了一个重载:voidTakeFoo(Foo&&);但是,我想重用代码,所以TakeFoo(Foo&&)基本上是这样做的:voidTakeFoo(Foo&&FooBar){TakeFoo(FooBar);}为什么这也不会引起警告,因为我仍在对临时对象进行非常量引用?