It is not considered an overload in the following cases:
1. Functions with different return values cannot be considered overloaded
2. Whether the return value is static cannot be considered overloaded
3. Arrays and pointers
int
fun(
int
*ptr);
int
fun(
int
ptr[]);
// redeclaration of fun(int *ptr)
4, functions, and function pointers
void
h(
int
());
void
h(
int
(*)());
// redeclaration of h(int())
5, whether the parameter is const cannot be distinguished (but is possible for class member functions)
Note: The const modifier pointer parameter or reference parameter can be used as an overloaded identity, so to understand, because the pointer or reference as a formal parameter can modify the argument itself, when the Const modifier refers to the content cannot be modified, so can be used as a distinguishing overload of the identity http:/ www.geeksforgeeks.org/function-overloading-and-const-functions/
6, whether default parameters cannot be distinguished
http://www.geeksforgeeks.org/function-overloading-in-c/
C + + Notes--function overloading (illegal overload cases)