Hi! Darf man das wirklich nicht, oder warum krieg ich nen Fehler? #define AAA 100; . . . uint8_t array[]={AAA, AAA, AAA, AAA}; compiler: Syntax error before ; ------------------ Hier Test-Prog: #include <avr/io.h> #define AAA 100; int main (void) { //uint8_t array[]={AAA, AAA, AAA, AAA}; uint8_t array[]={100, 100, 100, 100}; //Nur so klappt es, nicht mit dem Auskommentierten... while(1) { //Mach was... } return 0; }
Nimm das Semikolon hinter der 100 weg, dann sollte es klappen. #define AAA 100 Gruß T.v.B.
Mach doch selbst mal die Textersetzung die das #define bewirkt: Aus
1 | define AAA 100; |
2 | uint8_t array[]={AAA, AAA, AAA, AAA}; |
wird
1 | uint8_t array[]=[100;, 100;, 100;, 100;}; |
Siehst du jetzt den Fehler?
Aaaahhh, ja, danke. Hab es einfach nicht bemerkt, weil natürlich beim Error nicht aufs Define verwiesen wurde hab ich den Fehler auch explizit in dieser Zeile gesucht und nicht drann gedacht dass es ein Folgefehler sein kann der aus einem define/Makro entstand) Das ; hatte ich aus Versehen gewohnheitsmäßig gemacht -- Text geändert (hier sah der Syntax auch nicht so gut aus ;-) )
*nachtret >(weil natürlich beim Error nicht aufs Define verwiesen wurde Warum auch? >das ; aus Gewohnheit gemacht. Sollte man in einer Zeile, die mit "#define" anfängt halt nicht machen...
Rahul, der Trollige wrote: > *nachtret >>(weil natürlich beim Error nicht aufs Define verwiesen wurde > Warum auch? [...] Ja, ist klar. Weil der Compiler ja den Text nach dem Präprozessor erst erhält und nur davon die Fehler ankreiden kann...
/me zieht sich n Vokalbelheft unter die Hose :P /me => Kennt ihr ja von Mirc :P
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.