Ошибка, связанная с пустыми данными последнего элемента списка, может возникать из-за некорректного добавления элементов или некорректного доступа к данным. Вот несколько возможных способов решения этой ошибки:
1. Проверьте, что передаваемые данные в функцию `push_back` не равны `NULL`. Если данные пустые, то элемент списка будет создан, но его значения останутся пустыми.
2. Проверьте, что при создании нового элемента списка в функции `push_back`, поле `next` установлено в `NULL`, чтобы указывать на конец списка. У вас отсутствует установка значения `next` у последнего элемента списка.
3. Убедитесь, что при доступе к данным элемента списка в функции `operator[]`, вы проверяете наличие элемента в списке и его индекс не превышает размер списка.
4. Проверьте, что при создании нового элемента списка в функции `push_back`, вы создаете новый экземпляр объекта `Map`, а не просто передаете указатель на уже существующий объект `Map`. Если передаваемый указатель указывает на одну и ту же область памяти, то все элементы списка будут ссылаться на один и тот же объект `Map`, и изменение данных в одном элементе повлияет на остальные элементы.
5. Проверьте, что вы правильно передаете данные при использовании функции `push_back`. Убедитесь, что данные передаются в правильном порядке и формате и что они не пустые.
Проверьте эти моменты и внесите необходимые изменения в код для исправления ошибки с пустыми данными последнего элемента списка.