Vedila in un'altra maniera: se vuoi richiamare una funzione normale, tutto ciò di cui hai bisogno è il suo indirizzo in memoria e la sua firma (parametri, valore restituito, eccetera). La firma è risolta a compile time nelle istruzioni usate per chiamarla, l'indirizzo è ciò che viene memorizzato in un puntatore a funzione.Originariamente inviato da GliderKite
Quella congiunzione che significato ha esattamente?
Se invece vuoi richiamare una funzione membro, hai bisogno, oltre che di sapere dove si trova in memoria, anche dell'istanza su cui la stai richiamando, ossia del puntatore this che le verrà passato. Dato che si tratta complessivamente di due puntatori, un normale puntatore a funzione non basta.
Boost.Function + Boost.Bind (esempio), credo si possa anche usare Boost.SignalSai anche dove cercare per avere più informazioni?
Va detto che nel nuovo standard C++ l'intera questione si può risolvere facilmente con una lambda function.