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?