void (*fun(void))(void) { cout<<" back a point to fun"<<endl; return (void(*)(void))fun; } int main() { fun()(); system("pause"); return 0; } run: back a point to fun back a point to fun