Sep schrieb:
> Wie oben beschrieben hätte ich vermutet,
grrr.
du sollst nicht vermuten, sondern deine Programmiersprache LERNEN.
Der COmpiler liest den Code von oben nach unten. Und zwar nur ein
einziges mal. Du kannst nur Dinge verwenden, die schon bekannt sind (bis
auf die C-Standard Sachen, die kennt der Compiler immer). D.h. hier
1 | extern TYP_M tc_variable;
|
fragt sich der Compiler:
Hä? TYP_M, was für ein TYP_M? Von einem TYP_M hab ich noch nie etwas
gehört. Da werf ich mal eine Fehlermeldung. Warte mal. An dieser Stelle
kann nicht der Name einer Variablen stehen, da müsste ein Datentyp
stehen. TYP_M ist nicht der Name eines Datentyps. Ich schlag mal was
vor, was meiner Meinung da jetzt eigentlich stehen müsste.
Das du danach dann definierst, was ein TYP_M ist, ist uninteressant. Der
Compiler liest den Code von oben nach unten und stösst somit
zwangsläufig zuerst auf die Verwendung und erst dann auf die Definition,
was das eigentlich sein soll. Es muss aber umgekehrt sein, erst die
Definition und erst dann die Verwendung, damit der Compiler bei der
Verwendung auch weiß, wie groß das Teil im Speicher ist.