在一个问题中,下面给出的第一个原型称为有效
int Function(int Tmp = Show());
而在第二种情况下,它被称为无效声明。为什么?
float Function(int Tmp = Show(int, float));
此处是问题的链接 - http://www.indiabix.com/cpp-programming/functions/discussion-61
答案 0 :(得分:6)
Show
用于建立默认参数值的事实是一个红色的鲱鱼。
Show(int, float)
在调用该函数Show
的上下文中没有意义,而Show()
则有效。
在C ++中调用函数时,提供参数 values ,而不是类型。
答案 1 :(得分:4)
因为在第二种情况下你没有将任何实际参数传递给Show()函数。你会想要像
这样的东西 float Function(int Tmp = Show( 1, 2.3 ));
第一种情况不需要参数,因为它可能是对函数的调用,如下所示:
int Show();