What is the difference between the following two declarations:
1. int foo(int);
2. int foo(int());
I am not sure if both the declarations are equivalent. What makes (2)
different from (1)
?
What is the difference between the following two declarations:
1. int foo(int);
2. int foo(int());
I am not sure if both the declarations are equivalent. What makes (2)
different from (1)
?
int foo(int);
is the declaration of a function taking an integer as an argument and returning an integer as well
int foo(int());
declares a function taking as an argument "a pointer to a function returning int
and taking {no arguments[in C++] and unspecified number of arguments[in C]} " and returning an integer.
(2)
is equivalent to int foo(int (*pf)())
and int foo(int f())