既可以在函数声明也可以在函数的定义中指定默认实参。但是在一个文件中,只能为一个形参指定默认实参一次。例如下面的例子是错误的。
//ff.h
int ff(int =0);
//ff.cc
#include"ff.h"
int ff(int i=0){ }//error
如果在函数定义的形参列表中提供默认实参,那么只有在包含该函数定义的源文件中调用该函数时默认实参才是有效的,所以通常应在函数声明中指定默认实参,并将声明放在合适的头文件中。
既可以在函数声明也可以在函数的定义中指定默认实参。但是在一个文件中,只能为一个形参指定默认实参一次。例如下面的例子是错误的。
//ff.h
int ff(int =0);
//ff.cc
#include"ff.h"
int ff(int i=0){ }//error
如果在函数定义的形参列表中提供默认实参,那么只有在包含该函数定义的源文件中调用该函数时默认实参才是有效的,所以通常应在函数声明中指定默认实参,并将声明放在合适的头文件中。