Forum: Compiler & IDEs Problem mit 2 Arrays.


von Jörn (Gast)


Lesenswert?

Hi, ich habe folgendes problem. Ich initialisiere 2 arrays wie folgt:

const MENU_t config_menu[] = {
  { "confmenu",   -1,  1, (MENU_t*)main_menu, NULL, NULL,-1,3, NULL
},
  { "sensor1 ",    0,  2, NULL, NULL, NULL, 1,3, NULL },
  { "sensor2 ",    1,  3, NULL, NULL, NULL, 1,3, NULL }
};

const main_menu[] = {
  { "mainmenu",  -1,  1, NULL, NULL,    NULL, -1,5, NULL },
  { "config  ",   0,  2, NULL, (MENU_t*)config_menu,    NULL, -1,5,
NULL },
  { "transfer",   1,  3, NULL, NULL,                    NULL, -1,5,
NULL },
  { "limiter ",   2, -1, NULL, NULL,                    NULL, -1,5,
NULL },
  { "test    ",   1,  3, NULL, NULL,                    NULL, -1,5,
NULL }
};

nun meckert der compiler das im ersten array (MENU_t*)main_menu
unbekannt ist.... nun dachte ich mir dann mach ich das einfach wie bei
einer funktion und schreib ganz oben drüber const main_menu[]; doch nun
gibt er mir den fehler einer mehrfachdeklaration aus.

wie bekomme ich es hin das ich die arrays so verwenden kann??

MFG Jörn

von Karl H. (kbuchegg)


Lesenswert?

> const main_menu[] = {

Das Ding hat keinen Datentyp!

const MENU_t main_menu[] = {


Und zum Problem. Du brauchst eine Forward-Dekleration so
wie Du schon vermutet hast:

extern const MENU_t main_menu[];

const MENU_t config_menu[] = {
  { "confmenu",   -1,  1, (MENU_t*)main_menu, NULL, NULL,-1,3, NULL
},
  { "sensor1 ",    0,  2, NULL, NULL, NULL, 1,3, NULL },
  { "sensor2 ",    1,  3, NULL, NULL, NULL, 1,3, NULL }
};

const MENU_t main_menu[] = {
  { "mainmenu",  -1,  1, NULL, NULL,    NULL, -1,5, NULL },
  ...

von Jörn (Gast)


Lesenswert?

Riesengroßes  !!!!! DANKE !!!! Es funktioniert  freu

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.