Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno ANSI C - potřebuju zavolat funkci, když znám její název

Musis si tie polozky priradit na funkcie uz pri preklade. Pouzijes potom pointre na funkciu (ak to vobec PIC prekladac podporuje, moze to byt ale dost narocne na prevedenie potom v tom PIC)
http://www.safercode.com/blog/2008/11/25/generic-f unction-pointers-in-c-and-void.html
Napr.

typedef void (*FUNC_PTR)(void);
struct
{
  char *nazov;
  FUNC_PTR funkce;
}POLOZKA_STRUCT;

POLOZKA_STRUCT polozky[] =
{
 {"menu1", funkce1},
 {"menu2", funkce2}
}

void ZmacknuteMenu(int index_menu)
{
 if(index_menu<(sizeof(polozky)/sizeof(POLOZKA_STRUCT))) //preistotu
  polozky[index_menu].funkce(), 
}
tak nejak (pisal som to teraz len tak zhlavy takze mozu tam byt syntakticke chyby apod, islo mi len o popis principu)

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny