[dcl.fct.default]/3(重点是我的):
上面的最后一句话说,如果在参数声明子句中指定了默认参数,则它应在参数声明的声明器或抽象声明器中出现而不是。不过,当我查看参数声明的定义时,在[dcl.fct]/3中发现了以下内容(强调是我的):
最佳答案
标准中有一个脚注
例如这些声明
void f(void g(int = 10));
void ( *pf )(int = 10);
错了。
[dcl.fct.default]/3(重点是我的):
上面的最后一句话说,如果在参数声明子句中指定了默认参数,则它应在参数声明的声明器或抽象声明器中出现而不是。不过,当我查看参数声明的定义时,在[dcl.fct]/3中发现了以下内容(强调是我的):
最佳答案
标准中有一个脚注
例如这些声明
void f(void g(int = 10));
void ( *pf )(int = 10);