gpt4 book ai didi

c++ - 从自引用对象的二进制文件 C++ 在内存中创建链表

转载 作者:行者123 更新时间:2023-11-28 03:51:14 25 4
gpt4 key购买 nike

我试图在读取文件后填充一个链表。当我运行它时它只是挂起。我知道问题与 &course 的分配有关(我可能错了)。任何指导将不胜感激。

Course course;//this one to read from file
Course* fileCourse = new Course();//this populates linked list
fstream Read("Courses.dat", ios::in | ios::binary);
if(!Read)
cout << "Error Reading from file Courses.dat\n" << endl;
else
{
Read.read(reinterpret_cast<char*>(&course), sizeof(Course));
fileCourse->setNextCourse(&course);//problem here perhaps?
while(Read && !Read.eof())
{
Read.read(reinterpret_cast<char*>(&course), sizeof(Course));
fileCourse->setNextCourse(&course);
if(head == NULL)
{
head = fileCourse;
}
else
{
Course* tmp = head;

tmp = tmp->getNextCourse();

while(tmp->getNextCourse() != NULL)
{
tmp = tmp->getNextCourse();
}
tmp->setNextCourse(fileCourse);
}
}
}

最佳答案

  1. 这是家庭作业吗?如果是这样,请将其标记为这样。
  2. 要用 n 项(在本例中为 Course 对象)填充链表,您应该知道 n 对象应该分配给新类(class)()。您在此代码中分配了多少个对象?

关于c++ - 从自引用对象的二进制文件 C++ 在内存中创建链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5452578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com