In C++, when you declare pointer, normaly the syntax is
datatype* ptr;
But when you declare function pointer, you write
datatype (*ptr) (param1, param2);
datatype*
means pointer to datatype, *ptr
means a content pointer points to.
So it's confusing why it is datatype (*ptr)
, not datatype* ptr
when you declare function pointer.
Thank you.