The name of a function is a pointer to the function...
But in case of function overloading the names of two functions are the same...
So which function does the name po
It depends on the context; otherwise it's ambiguous. See this example (modified except below):
void foo(int a) { }
void foo(int a, char b) { }
int main()
{
void (*functionPointer1)(int);
void (*functionPointer2)(int, char);
functionPointer1 = foo; // gets address of foo(int)
functionPointer2 = foo; // gets address of foo(int, char)
}
You can do this in many ways, but the #1 rule?
Otherwise you'll break type safety and probably shoot yourself in the foot either then or later.
(Issues can come up with calling conventions, random changes you don't notice, etc.)