hi I don't understand Completely what you say,but the word "this" is the key word of C/C++. so it isn't declare as a variable. as follow,there is a example.I hope it is help for you. #include "stdafx.h" typedef void classfunction (void *w); struct random_class { char *something; classfunction *myfunction; }; classfunction * myclassfunction(void *w ) { return ((struct random_class *)w)->myfunction; } void printfAint(void *w) { printf("%d\n",*(int*)w); } int main(int argc, char* argv[]) { int i=10,j=20; random_class r; r.myfunction=printfAint; r.myfunction(&i); r.myfunction(&j); return 0; }