if we use the same name for those things. avoid the prepocessor will expand the function first, we usaully add parenthese to prevent.
simple example
#include <stdio.h>
#define test(x) __test(x)
#define __test(x) printf("\n%d\n", x + 1);
int test(int x);
#undef test
int main()
{
test(1);
}
int (test)(int x)
{
printf("\n%d\n", x);
}
Referemce
http://stackoverflow.com/questions/13600790/what-do-the-parentheses-around-a-function-name-mean
No comments:
Post a Comment