code like this works:
int func()
{
    return 1;
}
int main(int argc, const char * argv[]) {
    int (*f)() = func;
    int x = (*************************f)();  //x = 1
    return 0;
}
Why?
code like this works:
int func()
{
    return 1;
}
int main(int argc, const char * argv[]) {
    int (*f)() = func;
    int x = (*************************f)();  //x = 1
    return 0;
}
Why?
 
    
    