[dcl.fct.default]/3(重点是我的):



上面的最后一句话说,如果在参数声明子句中指定了默认参数,则它应在参数声明的声明器或抽象声明器中出现而不是。不过,当我查看参数声明的定义时,在[dcl.fct]/3中发现了以下内容(强调是我的):

最佳答案

标准中有一个脚注



例如这些声明

void f(void g(int = 10));

void ( *pf )(int = 10);

错了。

10-08 13:30