mi sono rimesso a spulciare alcuni libri che avevo letto per consolidare .
ho questo codice tratto da thinking c++:
codice:
using namespace std;
template <typename T> void f(T*) {}
void h(void (*pf)(int*)) {}
template <class T>
void g(void (*pf)(T*)) {}
int _tmain(int argc, _TCHAR* argv[])
{
// Full type exposition:
h(&f<int>);
// Type induction:
h(&f);
// Full type exposition:
g<int>(&f<int>);
// Type inductions:
g(&f<int>);
g<int>(&f);
} ///:~
due domande:
1)void h(void (*pf)(int*)) {} dichiara un puntatore alla funzione f ?ma perchè questa sintassi , non riesco bene a comprendere.
2)se ho una classe template e devo dichiarare un puntatore a funzione membro non dovrei utilizzare la sintassi oggetto.*funzione?
faccio un po fatica a comprendere il meccanismo di quest esempio , chiedo a voi.
ciao.
grazie.