Gast
#6341786
Hi! Beim Kompilieren mit gcc bekomme ich folgende Meldung:
1 | |
2 | |
3 | |
Was ist daran falsch? Danke & Grüße Arct
|
Anzeige
|
Kompiler note bei Makro - Was ist falsch?
Gast
#6341786
Hi! Beim Kompilieren mit gcc bekomme ich folgende Meldung:
Was ist daran falsch? Danke & Grüße Arct Arct schrieb: > Was ist daran falsch? Du musst schon die vorangehende Fehlermeldung und den zugehörigen Code mit posten, nicht nur die Makro-Definition.
Gast
#6341832
Der Code vor oder nach dem Makro-Aufruf oder der übergebene Parameter sind falsch. Mehr kann man bei der Informationslage nicht sagen.
Gast
#6341855
Hi! Danke für die schnellen Antworten! Die Meldungen davor und danach hatten in keinster Weise etwas mit diesem Error zu tun, da ging es um const-Qualifier, die verloren gingen:
Habe testweise die Klammern um resultCode entfernt. Seitdem bliebt die Meldung aus.
Grüße Arct
Gast
#6341861
Dann stimmt beim resultCode etwas nicht. Die Klammer würde ich drinlassen. eProfi schrieb: > Die Klammer würde ich > drinlassen. Auf jeden Fall! Makroargumente sollten im Makro immer geklammert werden, wenn das syntaktisch möglich ist, ansonsten können da bei unbedarfter Verwendung seltsame Dinge passieren. Arct schrieb: > Die Meldungen davor und danach hatten in keinster Weise etwas mit diesem > Error zu tun Doch, haben sie. Deshalb steht doch da "in definition of macro …". Wenn du nicht gewillst bist, uns ein Stückchen mehr vom "rundrum" zu zeigen, wird dir wohl keiner helfen können. Arct schrieb: > Die Meldungen davor und danach hatten in keinster Weise etwas mit diesem > Error zu tun, da ging es um const-Qualifier, die verloren gingen: Meldungen des Compilers, die so anfangen: „note:“ sind keine Fehlermeldungen, sondern eine erklärende Ergänzung für die direkt davor stehende eigentliche (Fehler-)meldung. Oliver
Gast
#6341891
Arct schrieb: > Habe testweise die Klammern um resultCode entfernt. Seitdem bliebt die > Meldung aus. Dann macht dein Code jetzt wahrscheinlich was völlig anderes als gewünscht. Arct schrieb: > Die Meldungen davor und danach hatten in keinster Weise etwas mit diesem > Error zu tun Das kann nicht sein. Du hast eine halbe Fehlermeldung gepostet. Die taucht nicht einfach so halb auf, da gehört noch was zu. Arct schrieb: > Die Meldungen davor und danach hatten in keinster Weise etwas mit diesem > Error zu tun, da ging es um const-Qualifier, die verloren gingen: Vielleicht passierte dieser Fehler ja im Makro-Argument?! Dann ändern die Klammern aber nichts. Oder hast du den "const"-Fehler behoben und gleichzeitig die Klammern entfernt? Die Klammern solltest du sowieso wieder einfügen.
Gast
#6341895
Hallo!
Ja, ihr habt offensichtlich recht! Habe die Klammern wieder hinzugefügt
und es geht. Die Meldung bezog sich dann wirklich auf den Fehler davor,
mit dem const-Qualifier, denn DO_IF_ERROR wurde mit eben dieser Funktion
aufgerufen, also DO_IF_ERROR(funktion(x,y,z)) { ...}
Dake & Grüße
Arct
Gast
#6341896
Ich hatte ja die const-Qualifier und die Klammern zeitgleich entfernt ;) Beim nächsten mal also liebe eine Änderung nach der anderen. :-D Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|