我将不胜感激在代码中解释原因
void f(int& i)
{
  i++;
}
void g(void (passed_f)(int&),int& a)   //`passed_f` equivalent to `*passed_f`
{
  passed_f(a);
}
int main()
{
  int n=0;
  g(f,n);                              //`f` is equivalent to `&f`
}
从不产生任何错误并给出完全相同的结果的意义上说,这两个等式都成立1。看来,我们是否接受g指向函数的指针或函数本身并不重要......我还认为 [c]-tag 是合适的。