int(*foo(int(*)(int,int),int*))(int*, int(*)(int*))可以分爲2個部分
auto foo(int(*)(int,int),int*) ->int(*)(int*, int(*)(int*))
這樣看就很明瞭,foo是參數是(一個參數爲2個int,返回值爲int指針的)函數指針和int指針的函數,
返回值是一個指向(返回值是int)(參數爲int指針和一個指向參數爲(int指針)(返回值爲int)的函數指針)的函數指針
雖然不知道這種函數能有什麼實際意義,但是還是應該認識它的