ukazatel na funkciu

Sekcia: Programovanie 10.08.2010 | 02:56
Avatar listrdave Linux  Používateľ
Dobry den ludkovia mam taky mali zadrhel na ktory akosi nemozem prist, skusam pouzit ukazatel na funkciu a skusam akurat priklad z knihy a akosi to nechce tak ci by ste mi v tom nemohly poradit trochu tu je priklad

char *riadok[50];

void funkcia((void *u[ ], int i, int j, int (*porovnaj)(void *, void *));
int main()
{
int pocet = 10;
funckia((void **) riadok, 0, pocet-1, (int (*)(void *, void *)(cislo ? strcmp : numcmp)); // atu mi to \nejde
}

zapis som opisal presne z knihy a nic a ani ziadne kombinacie co ma napadly mi nijako nepomohly
Skratka neviem co s tym dalej. Dakujem.
    • Re: ukazatel na funkciu 10.08.2010 | 17:23
      Avatar bedňa antiX, Devuan, LegacyIce  Administrátor
      Tak k céčku už skoro vôbec nepričuchavam, ale chcel by som :) Máš tam zlý počet zátvoriek, kua dávaj na to pozor!
      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
      • Re: ukazatel na funkciu 10.08.2010 | 18:25
        ListrDave   Návštevník
        Aj po pridani zatvoriek mi to neslo, ak vies asi ako by to malo vyzerat mohol by si mi to napisat ak by sa dalo lebo co pozeram nikde to nemozem poriadne najst a ak aj nieco najdem tak len ukazky s jednoduchymi funkciami podla ktorych to uz neviem urobit na tu moju. Dakujem
    • Re: ukazatel na funkciu 10.08.2010 | 18:26
      Avatar m4jkl   Používateľ
      ak hovoris, ze si to presne opisal z knihy, tak tu knihu zrovna vyhod :)
      dobra kniha o cecku je "Ucebnice jazyka C" od Herouta.


      char *riadok[50];

      void funkcia(void *u[ ], int i, int j, int (*porovnaj)(void *, void *));
      int main()
      {
      int pocet = 10;
      funkcia((void **) riadok, 0, pocet-1, ((int (*)(void *, void *))(cislo ? strcmp : numcmp))); // atu mi to \nejde
      }
      • Re: ukazatel na funkciu 10.08.2010 | 20:15
        Grawp   Návštevník
        Herout je jednička.
    • Re: ukazatel na funkciu 11.08.2010 | 20:45
      devnull   Návštevník
      Konkretne to bude asi tym, ze si nam nenapisal cely kod. Toto v ziadnom pripade nemoze ist spustit.
      1. nemas tam ziadne kniznice - minimalne string.h treba ked uz tam je strcmp, ze (a potom este fcia numcmp to nie je fcia zo ziadnej standardnej kniznice, musis si ju sam nakodit alebo includnut nejaku existujucu implementaciu)
      2. preco ma fcia fumkcia len prototyp? kde je telo fcie?
      3. co je to cislo, akeho je datoveho typu? preco nie je nikde zadeklarovane?

      p.s. pomohlo by keby si naznacil co ten pseudokod ma robit, napr. co bude obsahom premmenej riadok, pretoze ju nevidim nikde inicializovanu, premenna pocet detto