Ik moet wegens een schoolopdracht een queue maken in Turbo C 2.0 (moet draaien onder PC-Xinu). Nou heb ik het volgende probleem, ik wil de queue maken als dubbel gelinkte lijst. Ik heb de volgende code (definitie van structs voor de queue):
Als ik dit ga compileren dan zegt de compiler bij de definitie van QueueItem en de regel QueueItem *prev; : declaration missing, en bij QueueItem * next; : redeclaration of QueueItem.
Hoe kan ik in hemelsnaam een gelinkte lijst maken als ik items in een struct niet van hetzelfde type kan laten zijn als de struct zelf?
Heb al gezocht naar queue's voor Xinu maar daar worden ze allemaal als array geimplementeerd, dit is op zich wel een optie maar de queue moet gesorteerd zijn en er moeten items in geplaatst kunnen worden en uit verwijderd kunnen worden en dan zit je dus met opschuif problemen in de array waar ik geen zin in heb.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| typedef struct
{
int procId;
int prioriteit;
int time;
} Job;
struct QueueItem
{
QueueItem *prev;
QueueItem *next;
Job *job;
} |
Als ik dit ga compileren dan zegt de compiler bij de definitie van QueueItem en de regel QueueItem *prev; : declaration missing, en bij QueueItem * next; : redeclaration of QueueItem.
Hoe kan ik in hemelsnaam een gelinkte lijst maken als ik items in een struct niet van hetzelfde type kan laten zijn als de struct zelf?
Heb al gezocht naar queue's voor Xinu maar daar worden ze allemaal als array geimplementeerd, dit is op zich wel een optie maar de queue moet gesorteerd zijn en er moeten items in geplaatst kunnen worden en uit verwijderd kunnen worden en dan zit je dus met opschuif problemen in de array waar ik geen zin in heb.