下列程序编译错误,因为add函数返回值是一个引用,故对return返回值的要求是______。 #include<iostream.h> int& add(int x,int y) { return x+y; } vo

admin2010-12-16  36

问题 下列程序编译错误,因为add函数返回值是一个引用,故对return返回值的要求是______。
   #include<iostream.h>
   int& add(int x,int y)
   {
       return x+y;
   }
void main( )
{
       int i=3,j=19;
       cout<<(add(i,j)+=20)<<endl;
   }

选项

答案不能是表达式

解析 引用是变量的别名,其实质是变量的地址。return在返回值时,如果其后为表达式,则系统为该表达式生成一个临时变量用于存放该表达式的结果,函数执行完毕之后该变量被系统回收,因此,返回的该变量的地址对调用函数来说已经没有意义了。
转载请注明原文地址:https://kaotiyun.com/show/CFVp777K
0

最新回复(0)