Eine C Frage bzgl strct->pointer->übergabe von Werten

OP #682556
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren