Bonjour !
Je souhaite faire un système de menu avec mon écran LCD (Nokia5510 si ça intéresse quelqu'un).
J'ai besoin d'une fonction qui va stocker ce que va faire le programme quand on rentre dans un menu.
L'exemple est plus parlant:
menu.SetSubMenu(1, myAlarm.TestRelay());
menu.SetSubMenu(2, myAlarm.ShowDateMenu());
menu.SetSubMenu(3, myAlarm.ShowTimeMenu());
Avec la fonction suivante:
void Menu::SetSubMenu(int id, void (*function))
{
subMenu[id] = (*function);
}
Je ne sais pas si il est possible de stocker la fonction qui devrait être appelé plus tard.
En fait quand on valide par "OK" on va exécuter la fonction suivante:
void Menu::ValidOption()
{
(*subMenu[displayedOption])();
}
J'aimerai que ce code exécute la fonction précédemment enregistré.
Je ne sais pas si ça pourrait marcher, mais lorsque je compile j'ai cette erreur:
error: invalid use of void expression
pour chaque menu.SetSubMenu appelé, peut importe ce qu'il y a dans le void SetSubMenu
Petite image Xmind6:
Pouvez vous m'aider ?
Merci !
Damien.