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++ и се държи по същия начин. Всичките 3 наричат ли се технически указател на функция?
Маркирани със C, тъй като е приложимо и за това.