记下来免得忘了。
以下的代码可以编译过
int& t1(int& ip)
{
cout<<"function t1 says: "<< ip<< endl;
return ++ip;
}
但是这样就不行
int& t1(int& ip)
{
cout<<"function t1 says: "<< ip<< endl;
return ip++;
}
为何?我的分析:
return(++ip)<=>{ip=ip+1;return(ip)}
return(ip++)<=>{int temp=ip;ip=ip+1;return(temp)}
所以错了:
cannot convert from 'int' to 'int &'
姑且这么理解吧。
没有评论:
发表评论