以下代码在 C++ 中合法吗?
void f(void* = 0)
{}
int main()
{
f();
}
C++ 标准的哪一页声明这种用法是合法的?
是的,这是合法的。
没有标准的措辞来具体允许这种功能组合;根本没有任何可以disallow它,要么。
默认参数语法适用于 a 中的函数参数参数声明:
[C++11: 8.3.6/1]:
If an 初始化子句指定在一个参数声明 this 初始化子句用作默认参数。默认参数将在缺少尾随参数的调用中使用。
...以及 a 中的函数参数参数声明可能是未命名的:
[C++11: 8.3.5/11]:
[..]一个标识符可以可选地作为参数名称提供。[..]
8.3.6/4 下甚至有一个这种用法的示例(尽管示例不是规范文本,因此不能用来具体证明任何事情)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)