¿Cómo llamar a través de un puntero de función miembro?

Estoy tratando de hacer algunas pruebas con el puntero de función miembro. ¿Qué está mal con este código? losbigCat.*pcat(); declaración no se compila.

class cat {
public:
   void walk() {
      printf("cat is walking \n");
   }
};

int main(){
   cat bigCat;
   void (cat::*pcat)();
   pcat = &cat::walk;
   bigCat.*pcat();
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta