Hallo Geier,
Wie schon geschrieben wurde:
C erlaubt erst ab C99 die Variablen deklaration in der Initializer list.
Aber der Compiler scheint u8, int16_t und uint16_t nicht zu kennen, was auf eine vergessene mydefs.h schliessen lässt.
Allerdings gibt es noch gemeine Fehler, welche sich in einer Headerdatei verstecken können.
z.B. kann ein vergessenes ';' oder ',' dazu führen, dass weitere Headerdateien irgendeinem Macro oder so zugeschlagen werden.
Eine Fehlermeldung taucht dann erst viel später auf
Grundsätzlich kann man z.B. ein Macro auf mehrer Headerdateien verteilen.
Der Preprocessor fügt bei einem #include wird einfach die angegebene Datei eingefügt.
#defines werden dann wie "suchen und Ersetzen" bei einem Texteditor aufgelöst.
Und in C darf man nur den ersten Fehler beachten!
Der Rest sind meistens Folgefehler weil der Parser aus den Trott kommt.
MfG Peter(TOO)
Lesezeichen