Como chamar através de um ponteiro de função de membro?

Eu estou tentando fazer alguns testes com o ponteiro de função de membro. O que está errado neste código? obigCat.*pcat(); instrução não compila.

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

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

questionAnswers(1)

yourAnswerToTheQuestion