Gast
#5012784
Kann mir bitte jemand folgenden Fehler erklären: font.h:
1 | |
2 | |
3 | |
code.c:
1 | |
2 | |
Ergibt
1 | |
2 | |
3 | |
4 | |
5 | |
Wieso passt der Pointer nicht zum Array im Flash, was ist richtig?
|
Anzeige
|
__flash Array und Pointer: incompatible pointer type
Gast
#5012784
Kann mir bitte jemand folgenden Fehler erklären: font.h:
code.c:
Ergibt
Wieso passt der Pointer nicht zum Array im Flash, was ist richtig?
Gast
#5012797
Hoppla: den AVR-GCC-Tutorial: Flash mit flash und Embedded-C fand ich ein bisschen wirr ("links/rechts von *") und ich habe dort keine weiteren Hinweise gefunden.
Gast
#5012810
Aktuell schrieb: > Wieso passt der Pointer nicht zum Array im Flash, was ist richtig? Funktioniert es ohne const am Pointer?
Gast
#5012820
Nein:
Gast
#5012852
Das liegt daran, dass fontdata ein zweidimensionales Array ist. So müsste die Warnung weggehen:
Aktuell schrieb: > Wieso passt der Pointer nicht zum Array im Flash Weil bei einem zweidimensionalen Array der Name nicht zu einem "typ *" zerfällt, sondern zu einem "typ (*)[Y]". Aktuell schrieb: > was ist richtig? Kommt darauf an, was du mit fnt genau machen willst. Davon hängt ab, ob es sinnvoller ist, die linke oder die rechte Seite vom = zu ändern. Wäre das hier für dich einfacher zu verstehen?
Dann schreib's so ;).
Gast
#5012882
Danke soweit, das leuchtet ein. fnt arithmetisch auf eine bestimmte "Zelle" gesetzt, also wäre wohl gar kein zweidimensionales Array erforderlich. Weitere Infos: http://en.cppreference.com/w/c/language/array ganz unten.
Gast
#5012883
Danke auch euch. Jetzt sind ja alle Varianten zusammengekommen :-) Aktuell schrieb: > Jetzt sind ja alle Varianten zusammengekommen :-) Wobei nicht alle die Struktur des Arrays wiederspiegeln. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|