Hallo,
ich möchte ganz gerne ein Menü schreiben und habe mir r hierfür ein
struct gebaut:
typedef struct menue_var {
uint8_t layer;
uint8_t position;
wdwpara_t para;
const char name[];
}menu_t;
alle punkte laufen bis auf den letzen "name[]";
Hier möchte ich den Menünamen (welche Überraschung) festlegen.
ich erzeuge noch ein Array von diesem struct (namens mainmenu) davon und
übergebe das Array dann so an eine Funktion:
build_menu_entry(&mainmenu);
die passende funktion sieht dann so aus:
void build_menu_entry (menu_t *menu) {
uint8_t i;
menu->para.color = white;
menu->para.frame = noborder;
menu->para.startx = 0;
menu->para.starty = 0;
ks0108_textframe(menu->name,&font5x7para,&menu->para);
}
die wiederum dann alle daten an eine andere Funktion übergeben soll:
void ks0108_textframe(uint8_t ch[],fonts_t *font, wdwpara_t *dummy);
Nun bekomme ich aber folgende Fehlermeldungen:
in der Funktion build_menu_entry heißt sie zum einen:
passing argument 1 of 'ks0108_textframe' discards qualifiers from
pointer target type
keine Ahnung was der meint?
die 2 Fehlermeldung ist noch diese:
Fehler:
invalid use of flexible array member
bzgl der Zeile:
mainmenu[0].name = "favorites left";
Hat jemand eine Ahnung?
Danke schon mal im voraus.
Tobias
const char name[];
ist dasselbe wie
const char *name;
Reicht der Hinweis?
Vielen Dank, habe mich jetzt damit abgefunden, daß ich es über const "definiere" und dann die Variabel von const beim anlegen des arrays[x].name angebe! Nicht schön, aber wat mut dat mut....anscheinend. Gruß und Danke Tobi
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.