Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. 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


"ché perder tempo a chi più sa più spiace" (Purgatorio, Canto III - v.78)
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


Il mio canale: http://www.youtube.com/user/MrDukeCarl

tecnologia e programmazione!
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
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


Ingegnere Informatico
https://ldlagency.it
PM Quote