【发布时间】:2013-03-16 14:26:23
【问题描述】:
我正在使用以下简单代码重新访问 C 中的函数指针:
unsigned TestFn(unsigned arg)
{
return arg+7;
}
unsigned Caller(unsigned (*FuncPtr)(unsigned), unsigned arg)
{
return (*FuncPtr)(arg);
}
我用
来调用它Caller(TestFn, 7) //and
Caller(&TestFn, 7)
两者都给出了相同的输出:14. 对此有何解释。我之前一直在使用第二种调用方式。
【问题讨论】:
-
我相信当你通过TestFn时,地址是隐式传递的,所以它的解释实际上和&TestFn一样。
-
我认为这个问题回答了它,即使它是 C++ stackoverflow.com/questions/6893285/…
标签: c function function-pointers