默认参数仅在其中省略了尾随参数的函数调用中使用 - 它们必须是最后的参数。因此,以下代码是非法的:
int print( double dvalue = 0.0, int prec );
默认参数不能在以后的声明中重新定义,即使重新定义的参数与原始参数相同也是如此。因此,以下代码将生成错误:
// Prototype for print function.
int print( double dvalue, int prec = 2 );
...
// Definition for print function.
int print( double dvalue, int prec = 2 )
{
...
}
此代码的问题在于定义中的函数声明重新定义了 prec 的默认参数。
以后的声明可添加额外的默认参数。
可为指向函数的指针提供默认参数。例如:
int (*pShowIntVal)( int i = 0 );
注:相关教程知识阅读请移步到C++教程频道。










