在赋值给函数参数类型变量的上下文中是正确的.
编辑
编译期间的默认参数根据类型正确性等进行评估,但不会计算它们,也不会在运行时进行任何分配.你可以指定一个尚未定义的类的构造函数作为默认参数,只要在函数使用点定义了类就可以了......实际的计算/赋值发生在函数调用期间,而不是在函数调用时功能声明/定义.
例:
#include <iostream>
void foo( int a = std::rand())
{
std::cout << a << std::endl;
}
int main( void )
{
foo();
return( 0 );
}
Run Code Online (Sandbox Code Playgroud)
1804289383