Hallo,
Hab hier einen Code aus einem Forum, nur leider gibt es wohl den Thread ersteller nicht mehr, daher hab ich nun Probleme mit folgendem Code:
Code:
typedef prog_char menuCap_t; // Titeltext im Flash
typedef const menuCap_t* PROGMEM menuCap_a; // array von Titeltexten im Flash
typedef struct {
const menuCap_t* caption;
const uint8_t type;
const prog_void* func;
} menuSub_t PROGMEM;
typedef struct {
const menuCap_t* caption; // Title
const uint8_t count;
const menuSub_t items[];
} menuDef_t PROGMEM;
typedef uint8_t (*menuFunc_t)(const menuDef_t* menu, uint8_t index, uint8_t event); // callback
extern uint8_t menuProcess(const menuDef_t* menu);
Code:
menuCap_t mcMain[] = "Hauptmenue";
menuCap_t mcProperties[] = "Einstellungen";
menuCap_t mcSecurity[] = "Sicherheit";
menuDef_t mmMain = {mcMain, 0, {{ mcProperties, 0, 0},{ mcSecurity, 0,0}}};
So ist der Originalcode von Ihm, mein AVR Studio meldet mir jedoch folgendes beim Compilieren:
../control.c:45: error: non-static initialization of a flexible array member
../control.c:45: error: (near initialization for 'mmMain')
Die Zeilen nummern stimmen nicht mehr, aber es handelt sich um diese Zeile:
Code:
menuDef_t mmMain = {mcMain, 0, {{ mcProperties, 0, 0},{ mcSecurity, 0,0}}};
Könnte mir jemand weiterhelfen?
Lesezeichen