当我在顶部声明和初始化我的 List 数据结构然后调用我的函数 generateID 时,我有一个运行良好的程序。如果我在顶部声明列表并在函数内初始化列表,它也可以工作。但是我遇到的问题是使用线程来创建列表。我不断收到分段错误。
在我的程序顶部,我有我的声明。
列出* aLine;
在底部,我有两个功能。
void CreateListA(int which)
{
aLine = new List;
currentThread->Yield();
}
void ThreadTest()
{
Thread *gA = new Thread("Creates new List A");
gA->Fork(CreateListA, 1);
generateID();
}
现在,当我运行线程测试时,我得到了分段错误。我猜想在使用线程创建列表时,内存都搞砸了。但是我想不通为什么会有这个问题?我以相同的方式(使用线程)创建了一个播放器对象,并且程序运行良好。现在我正在尝试创建 List 数据结构,但它失败了。***注意 generateID() 使用 append 和 remove 来操作列表。