У меня есть программа, которая прекрасно работает, когда я объявляю и инициализирую свою структуру данных 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();
}
Теперь, когда я запускаю тест потока, я получаю ошибки сегментации.Я предполагаю, что где-то при создании списков с потоками память запуталась.Но я не могу понять, почему возникнет проблема с этим?Я создал объект проигрывателя таким же образом (с потоками), и программа работала нормально.Сейчас я пытаюсь создать структуру данных списка, и это не удается.*** Обратите внимание, что generateID () использует команды добавления и удаления для манипулирования списком.