#define ptr(from,to) \ _asm mov eax, from \ _asm mov to, eax class test { public: void func() { printf("HA !"); } }; void lala() { printf("lala"); } int main(int argc, char* argv[]) { void (*x)(); void (test::* lala)() = test::func; ptr(lala,x); printf("%X\n",x); x(); }