为什么第一个原型是正确的,而第二个原型是不正确的

why is the first prototype is correct while second is incorrect?

本文关键字:原型 不正确 第二个 第一个 为什么      更新时间:2023-10-16

在一个问题中,下面给出的第一个原型称为有效

int Function(int Tmp = Show()); 

而在第二种情况下,它被称为无效声明。为什么?

float Function(int Tmp = Show(int, float));

这是问题的链接- http://www.indiabix.com/cpp-programming/functions/discussion-61

Show用于

建立默认参数值的事实是红鲱鱼。

Show(int, float)调用该函数Show的上下文中没有意义,而Show()却有意义。

在 C++ 中调用函数时,需要提供参数,而不是类型。

因为在第二种情况下,您不会将任何实际参数传递给 Show() 函数。你会想要这样的东西

  float Function(int Tmp = Show( 1, 2.3 ));

第一种情况不需要参数,因为它可能是对如下所示的函数的调用:

  int Show();