RE: C: Předání ukazatele na funkci
Miroslav Draxal
evik na volny.cz
Sobota Duben 28 11:17:43 CEST 2018
Aha, díky Vám, už jsem to pochopil. Použil jsem mix vašich předchozích mailů.
void HledejPrikaz(const char *pHledanyPrikaz, void (*pAkce)(void));
A dokonce je mi jasné, proč musí být (*pAkce) v závorkách.
Míra
-----Original Message-----
From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Jindroush
Sent: Saturday, April 28, 2018 8:49 AM
To: HW-news
Subject: Re: C: Předání ukazatele na funkci
Udelejte si tam radsi typedef, at trochu schovate tu komplexitu
(prelozeno gcc 4.x na win):
typedef void (*TypPrikaz)(void);
void Prikaz_RESET( void )
{
}
void HledejPrikaz( const char* szPrikaz, TypPrikaz pFunc )
{
pFunc();
}
int main()
{
HledejPrikaz("RESET", Prikaz_RESET);
}
On 28.4.2018 1:11, Miroslav Draxal wrote:
> Dobrý večer,
>
> Co mám špatně zapsané?
>
> void HledejPrikaz(const uint8_t* pHledanyPrikaz, void* pAkce(void));
>
> void Prikaz_RESET(void);
>
> HledejPrikaz("RESET", (void*) Prikaz_RESET);
>
> Vyhodí varování
>
> warning: (2029) a function pointer cannot be used to hold the address of
> data
>
> pointer to void -> pointer to function with no arguments returning
> pointer to void
--
Jindroush <jindroush na seznam.cz>
_______________________________________________
HW-list mailing list - sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list