函数声明不明确

时间:2018-06-19 22:45:21

标签: c++

我有这样的代码:

int fun(int());

它到底是做什么的?据我所知,它等同于以函数为指针的函数声明

int fun(int (*ptr)())

但我不确定为什么。

1 个答案:

答案 0 :(得分:5)

这些都一样:

int f( int()     );
int f( int(*)()  );
int f( int(*p)() );
int f( int p()   );
int f( int(p)()  );
  • 有一条语言规则,如果您将一个函数参数声明为具有函数类型,则将其调整为具有函数指针类型。
  • 可以省略参数名称。