Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Puntatore a funzione membro
Forum - C/C++ - Puntatore a funzione membro

Avatar
Giarados (Ex-Member)
Pro


Messaggi: 69
Iscritto: 25/07/2010

Segnala al moderatore
Postato alle 16:53
Venerdė, 04/02/2011
Scrivo una classe Button, cerco di linkare un'istanza con una funzione membro di un'altro oggetto quando:
Codice sorgente - presumibilmente VB.NET

  1. no matching function for call to [...]



Implicitamente viene passato this alla funzione membro quindi il suo reale prototipo non corrisponde alla dichiarazione del puntatore contenuto in Button:
Codice sorgente - presumibilmente C/C++

  1. void (*linkedFunction)(void);




Il problema č: come risolvo in modo tale da poter chiamare una funzione membro?!

Avevo pensato:

Dichiaro un'istanza della classe X come globale
Scrivo una banale funzione
Codice sorgente - presumibilmente C/C++

  1. void funzione()
  2. {
  3.     istanzaGlobaleX.metodoCheMiInteressa();
  4. }


E linko questa con il Button creato nel main della classe Menu

Il problema č che non mi piace proprio come soluzione :S

PM Quote
Avatar
carlduke (Member)
Pro


Messaggi: 153
Iscritto: 29/01/2011

Segnala al moderatore
Postato alle 16:57
Venerdė, 04/02/2011
anzichč farla goblale di solito io risolvo con una funzione friend, ma non so se ho capito bene la domanda, potresti postare del codice in piu?

Ultima modifica effettuata da carlduke il 04/02/2011 alle 17:06
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 17:19
Venerdė, 04/02/2011

questa guida spiega vita morte e miracoli dei puntatori a funzioni membro:

http://www.goingware.com/tips/member-pointers.html

PM Quote