
Car getCar(string model,int year) { Car c(model,year); return c;}voID displayCar(Car &car) { cout << car.getModel() << "," << car.getYear() << endl;}displayCar(getCar("Honda",1999)); 我得到一个错误,“采取临时地址”.我应该用这种方法吗
Car &getCar(string model,year); return c;}解决方法 getCar返回一个Car值,这是正确的.
因为displayCar需要一个Car& amp;,所以不能把这个临时对象的返回值传递给displayCar.您不能将临时绑定到非常量引用.您应该更改displayCar以获取const引用:
voID displayCar(const Car& car) { } 或者,您可以将临时存储在本地变量中:
Car c = getCar("Honda",1999);displayCar(c); 但是,由于它不会修改对象,因此最好让displayCar引用一个const引用.
不要返回对本地Car变量的引用.
总结以上是内存溢出为你收集整理的c – 从函数返回本地对象全部内容,希望文章能够帮你解决c – 从函数返回本地对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)