¿Es esta la forma correcta de devolver un objeto desde una función?Devolución de un objeto local desde una función
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));
Me aparece un error, "tomando la dirección de temporal". Debería usar de esta manera:
Car &getCar(string model, int year) {
Car c(model, year);
return c;
}
también puede almacenar el temporal sin invocar el constructor de copia (que ocurre en 'Car c = getCar (...)' usando una referencia a const: 'const Car & c = getCar (...)', si no 't necesito hacer cambios a través de 'c' más adelante. –