cannot convert parameter 1 from 'int (__thiscall A::* *)(void)' to 'int (__cdecl *)(void)' : I am getting this error while running this code, Please look in to my code and assist me,

    #include "stdafx.h"
    #include <iostream>
    class A
    {
      public:
        void PrintTwoNumbers(int (*numberSource)(void)) 
        {
          int val1= numberSource();     
        }

        int overNineThousand(void) 
        {
          return (rand()%1000) + 9001;
        }        
    };

    int _tmain(int argc, _TCHAR* argv[])
    { 
      int (A::*fptr) (void) = &A::overNineThousand;    

      A a;
      a.PrintTwoNumbers(&fptr); //-> how to pass fptr here
      getchar();
      return 0; 
    }

> i fed up by searching this one, no body giving perfect solution for this.Can anybody edit this code as working code and help me.


 