Hallo zusammen,
ich habe ein kleines Problem welches ich nicht wirklich gelöst bekomme.
Ich habe vor eine Datei nach bestimmten Zeilen zufiltern,
eine bestimmte Zeile (sog. G-Code) kann (muss aber nicht) einen Block
öffnen welchem mehrere Zeilen Daten-Code folgen. Es kann aber auch
vorkommen das wiederum in diesem Block ein neuer G-Code steht und wieder
ein Block geöffnet wird.
Ich will nun diese Struktur in einer Linearen Liste ermitteln. Das
erkennen der Blöcke ist auch kein Prob. Doch habe ich ein kleines
Problem beim erstellen der Typen für die Lineare Liste.
Hier mal mein Code:
1 | typedef struct Block
|
2 | {
|
3 | union u_tag
|
4 | {
|
5 | G_CODE G;
|
6 | DATA_BLOCK data;
|
7 | } u;
|
8 | struct Block *next;
|
9 | } DATA_LIST;
|
10 |
|
11 | typedef struct ko
|
12 | {
|
13 | unsigned int X; // X-Koordinate
|
14 | unsigned int Y; // Y-Koordinate
|
15 | unsigned int PLOT_FUNCTION; // D-Code
|
16 | } DATA_BLOCK;
|
17 |
|
18 | typedef struct GC
|
19 | {
|
20 | unsigned int G; // G-Code
|
21 | unsigned int X; // X-Koordinate (Optional)
|
22 | unsigned int Y; // Y-Koordinate (Optional)
|
23 | unsigned int D; // D-Code (Optional)
|
24 | DATA_LIST *Block_Liste;
|
25 | } G_CODE;
|
So, der Compiler gibt jetzt einen Fehler aus, weil zum Zeitpunkt der
definition von DATA_LIST G_CODE noch nicht definiert ist. Vertauschen
kann ich es aber auch nicht, dann wäre zum Zeitpunkt der definition von
G_CODE DATA_LIST noch nicht definiert.
Bei Funktionen kann man das ja durch einmaliges bennennen am Anfang der
Datei bekanntmachen, aber bei typedef hat es nicht funktioniert.
Wäre froh wenn mir jemand helfen könnte.
Gruß
NemesisoD