Правильно ли это объект, возвращаемый функцией?Возврат локального объекта из функции
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, int year) {
Car c(model, year);
return c;
}
вы также можете сохранить временное выражение без вызова конструктора копирования (который встречается в 'Car c = getCar (...)', используя ссылку на const: 'const Car & c = getCar (...)', если вы «Мне нужно внести изменения через' c' позже. –