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