Puntatori a funzione...Help!
Von: protopo (protopo@tin.it) [Profil]
Datum: 12.05.2008 13:31
Message-ID: <482829e2$0$41661$4fafbaef@reader4.news.tin.it>
Newsgroup: it.comp.lang.c++
Datum: 12.05.2008 13:31
Message-ID: <482829e2$0$41661$4fafbaef@reader4.news.tin.it>
Newsgroup: it.comp.lang.c++
Ho una classe tipo:
class MioCaso
{
...
public:
...
short FaiQualcosa( short sTipo, short sCaso );
}
E un altra classe:
class DiTutto
{
public:
...
void SetFaiFunction( short (*)( short sType, short sCase ) );
private:
short (*pFai)( short sType, short sCase );
}
In una altra classe che ha istanziato entrambi gli oggetti, ad un certo
punto volevo
fare in modo che il mio oggetto DiTutto ricevesse il puntatore della
funzione dall'altra classe.
void DiTutto::SetFaiFunction( short (*pFun)( short sType, short sCase ) )
{
pFai = pFun;
}
DiTutto *pTutto = new DiTutto;
MioCaso *pCaso = new MioCaso;
pTutto->SetFaiFunction( pCaso->FaiQualcosa );
Poi all'inerno DiTutto vorrei utilizzare in qualsiasi momento pFai(,);
Il problema e' che sono fermo a: pTutto->SetFaiFunction(
pCaso->FaiQualcosa );
Il compilatore mi da questo errore:
error C2664: cannot convert parameter 1 from 'short (short,short)' to 'short
(__cdecl *)(short,short)'
Cosa sbaglio? Qualcuno mi puo' aiutare?
Grazie!
[ Auf dieses Posting antworten ]
