既可以在函数声明也可以在函数的定义中指定默认实参。但是在一个文件中,只能为一个形参指定默认实参一次。例如下面的例子是错误的。
//ff.h
int ff(int =0);
//ff.cc
#include"ff.h"
int ff(int i=0){ }//error
如果在函数定义的形参列表中提供默认实参,那么只有在包含该函数定义的源文件中调用该函数时默认实参才是有效的,所以通常应在函数声明中指定默认实参,并将声明放在合适的头文件中。
本文探讨了C++中默认实参的使用规范,强调了在函数声明与定义中指定默认实参的区别及其有效范围。文章指出,为了避免重复指定相同的默认实参导致的编译错误,应当在函数声明中设置默认实参。
既可以在函数声明也可以在函数的定义中指定默认实参。但是在一个文件中,只能为一个形参指定默认实参一次。例如下面的例子是错误的。
//ff.h
int ff(int =0);
//ff.cc
#include"ff.h"
int ff(int i=0){ }//error
如果在函数定义的形参列表中提供默认实参,那么只有在包含该函数定义的源文件中调用该函数时默认实参才是有效的,所以通常应在函数声明中指定默认实参,并将声明放在合适的头文件中。

被折叠的 条评论
为什么被折叠?