Weather& second)
{
if(first > second)
{
int temperature = first.temp - second.temp * (24 / 3.5);
int creation = first.creation - second.creation;
}
int temperature = second.temp - first.temp * (24/3.5);
int creation = second.creation - first.creation;
}
Как можно сделать ее менее бойлерплейтной?
А) надо написать сначала функцию правильно Б) выбросить ветку с if она не нужна
A) Исправил Б) Как?
Выброси ветку с if и сам if
А, уже верно
Я же написал выше, что исправил
а вообще может abs поможет ?
Можно сделать две ссылки или указателя и за счёт этого условно поменять местами first и second если надо, дальше вычисления делать с этими ссылками, и не будет двух веток IF
Weather getWeather(const Weather& first, const Weather& second) { Weather from = first > second ? first : second; Weather to = first > second : second : first; int temperature = from.temp - to.temp * (24 / 3.5); int creation = from.creation - to.creation; return Weather{0,temperature, creation}; } В итоге мы пришли к нормальному виду, да
Только сделай это ссылками
Что?
Обсуждают сегодня