class x{};
x f1(){
x x1;
return x1;
}
void f2(){}
void f3(x& x1){}
int main(){
x x2;
f1() = x2;//可以,因为返回类型为x类型
f2() = x2;//不行,因为f2返回类型为void
f3(f1());//此时编译器会产生一个临时对象来保存f1()的返回值,使他能够传递给f3()