È questo il modo corretto per restituire un oggetto da una funzione?Restituzione di un oggetto locale da una funzione
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));
Ho ricevuto un errore, "indirizzo di temporaneo". Dovrei usare in questo modo:
Car &getCar(string model, int year) {
Car c(model, year);
return c;
}
puoi anche memorizzare il temporaneo senza invocare il costruttore di copie (che si trova in 'Car c = getCar (...)' usando un riferimento a const: 'const Car & c = getCar (...)', se non si Non è necessario apportare modifiche tramite 'c' dopo. –