Passer un pointeur sur une fonction de membre de classe en tant que paramètre

J'ai écrit un petit programme où je suis en train de passer un pointeur de fonction membre d'une classe à une autre fonction. Pouvez-vous s'il vous plaît aidez-moi et où je vais mal..?

#include<iostream>
using namespace std;
class test{
public:
        typedef void (*callback_func_ptr)();
        callback_func_ptr cb_func;

        void get_pc();

        void set_cb_ptr(void * ptr);

        void call_cb_func();
};
void test::get_pc(){
         cout << "PC" << endl;
}
void test::set_cb_ptr( void *ptr){
        cb_func = (test::callback_func_ptr)ptr;
}
void test::call_cb_func(){
           cb_func();
}
int main(){
        test t1;
            t1.set_cb_ptr((void *)(&t1.get_pc));
        return 0;
}

Je reçois le message d'erreur suivant lorsque j'essaie de le compiler.

error C2276: '&' : illegal operation on bound member function expression

source d'informationauteur ajay bidari