[ Preeky @ 10.10.2003. 17:03 ] @
Zanima me jel moze da se deklarishe F pointer koji ce moci da prima adrese funkcija clanica iz razlitite dve klase otprilike ovako poshto mi kompajler prijavljuje greshku :

pseudokod:

class a
{
funkcija 1
}


class b
{
funkcija 2
}

void (CLASS ???::*fpointer) (); // ovde mi je problem!!

i sad bio zeleo da mi ovo radi :

fpointer = a::funkcija 1 i fpointer = b::funkcija 2


radim neku optimizaciju pa bi mi ovo dobro doshlo , mada nisam siguran da li ovo podrzava c++ standard.

[ Časlav Ilić @ 11.10.2003. 09:58 ] @
Ne može. Nije do standarda, već je logički problem u pitanju: ako bi mogao da dodeliš takav pokazivač, onda pri pozivu funkcije preko tog pokazivača ne bi moglo da se odredi nad članovima koje instance funkcija treba da operiše.

Jedino što možeš je da dodeliš pokazivač statičke članske funkcije, pošto ona može da operiše samo nad statičkim članovima klase, koji su zajednički za sve instance klase.
[ Preeky @ 11.10.2003. 12:16 ] @
hvala ,

reshio sam dati problem promenom dizajna i nasledjivanjem.
[ Rapaic Rajko @ 14.10.2003. 16:24 ] @
Moze,

ali u CBuilder-u. Pogledaj deklaraciju (closure *) u helpu. Sa closure prvo deklarises tip metoda (sta vraca, koje parametre ima itd.)...uostalom, sve pise u helpu.

Rajko