void display(const Gift&)
принимает ссылку на Gift
в качестве параметра, но без идентификатора (имени) для параметра функция не может взаимодействовать с параметром.
Вместо этого используйте void display(const Gift& gift)
, а затем используйте gift
вместо gifts
в функции.
Будущая ошибка:
Обычно массивы допустимы в диапазоне от 0 до размерность массива -1. В
for (int i = 1; i <= numberOfGifts; i++)
i
колеблется от 1 до numberOfGifts
. По крайней мере, это игнорирует первый, 0-й, элемент gifts
и, вполне возможно, позволит программе получить доступ к одному за концом массива. Пропуск первого значения - пустая трата памяти, но, возможно, все в порядке. Попытка получить доступ к значению за пределами массива - это плохо, а результаты очень непредсказуемы.