引用传参时的匿名变量问题

写函数的时候经常需要使用引用传参,为了能够修改传入的值,但是下面的这种情况特别需要注意,这样写出的函数不能达到修改的作用。

int func(double & ra,double &rb)
{
    a++;
    b++;
}
 int a=2,b=4;
func(a,b);//由于函数参数不匹配,编译器自动进行type cast,将转换后的值赋给一个匿名变量,在把ra,rb分别设为两个匿名变量的引用,但是这样函数就起不到直接修改数据的功能了。
cout<<a<<'\t'<<b<<endl;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容