I came across this which states:
Member function pointers are not pointers. Pointers to non-member functions, including static member functions, are pointers.
The above quote seems to suggest that pointers to non-static member function are not pointers.
Similarly, i read here:
A member pointer is a different type category from a ordinary pointer.
My question is that are the above quotes technically(formally according to the standard) correct? I mean we use the term, "pointer" to non-static member function. But if they are not actually pointers then why use the term "pointers" in the first place? My understanding is that it is because although "pointer to member functions" differ in many respect with ordinary pointers they still are similar to ordinary pointers in one respect which is that they point to something(meaning hold addresses).
I also tried:
std::cout<<std::is_pointer_v<void(A::*)()><<std::endl;
which gives 0
confirming that a pointer to non-static member function is not considered a pointer.