Код, который вы показываете, является неполным и не компилируется. Вам не хватает деклараций для переменных-членов класса. Ваш конструктор для EmployerList
должен, вероятно, брать const Employer &
и хранить его; он не должен иметь дело со всеми переменными, используемыми для инициализации Работодателя.
Написание связанного списка в файл скромно сложно. Вы не можете целенаправленно писать указатели; вам необходимо записать значения данных для каждого элемента в стандартизованном, легко читаемом формате. Вы используете близость в файле, чтобы указать отношения «next» (и «prev»). Этот процесс называется «сериализация» на выходе и «десериализация» на входе.
Эта идиома:
Employer *node = new Employer(Email, cName, pos, fName, lName, addr, tHome, tMobile);
//if memory was sucessfully allocated
if (node != NULL)
архаичен (до стандарта, то есть до 1998 г. стандарт) C++. Вы не вызывали распределитель «без выброса»; если выделение не удалось, было выбрано исключение. Поэтому проверка распределения избыточна.
Это не вызывает прямых проблем; тест просто расточительный (и отступы ваш код больше, чем необходимо). Если ваш учебник использует эту технику, вы, вероятно, должны получить более новый учебник.
(Замечу также, что я должен был исправить интервал, чтобы сделать код соответствует;. Согласованность в программировании очень важно)
Я знаю, что это выглядит сложным, но я пытаюсь записать связанный список в основном в файл как объект, а не в качестве единственного, как у меня в функции tryWrite. любая помощь? –
Должен ли быть вопрос где-то там? Кроме того, отпечаток всего вашего кода четыре пробела, чтобы он отображался аккуратно. –
прочитайте мой комментарий к вопросу, пожалуйста @BenVoigt –