I am reading The C++ Programming Language by Bjarne Stroustrup. It somewhere uses using keyword to make function-pointer datatypes P1 and P2 like this:
using P1 = int(∗)(int∗);
using P2 = void(∗)(void);
But then it uses using keyword to make another function-pointer datatype:
using CFT = int(const void∗, const void∗); -(1)
then it uses CFT to declare a function-pointer and passes it in some ssort function:
void ssort(void∗ base, siz e_t n, size_t sz, CFT cmp);
My question is if it is making a function-pointer datatype using "using" then shouldn't line-(1) be:
using CFT=int(*)(const void*, const void*);
rather than what it actually is?