int func ()
{
printf("foo()\n");
return 0;
}
void foo1 (int (*pf)()) { pf(); }
void foo2 (int (pf)()) { pf(); }
void foo3 (int pf()) { pf(); }
int main ()
{
foo1(func);
foo2(func);
foo3(func);
}
foo1()
传递给和foo2()
的参数有什么区别foo3()
。
所有 3 种语法都可以在 g++ 中正常编译,并且行为方式相同。从技术上讲,这三个都称为函数指针吗?
用 C 标记,因为它也适用于此。