为什么第一个原型是正确的,而第二个原型是不正确的
why is the first prototype is correct while second is incorrect?
在一个问题中,下面给出的第一个原型称为有效
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();
相关文章:
- 使用2个键的cpp-stl::优先级队列排序不正确
- 正弦级数方程计算不正确
- 我试图制作一个程序,要求用户输入问题和答案,但程序循环不正确
- 密码登录程序将永远循环并显示不正确的结果
- 在C++中返回不正确的楼层函数值
- 形状对象的旋转和缩放不正确C++
- C++ 读取文件读取文件不正确
- 关于类的 Python 文档 - 对C++的引用不正确
- 特征 LLT 模块给出不正确的结果?
- glibcxx STL 在实现 std::valarray::sum() 时是否不正确?
- 如果语句逻辑不正确
- 来自逆 vp 矩阵和相机位置的光线方向不正确
- 不正确的操作数类型 MSVC
- 数组填充了不正确的值
- 我是否不正确地集中了这些字符数组?
- 为什么除非我使用 cout,否则我的值不正确?
- 计算幂级数的数学结果不正确
- 为什么 sizeof 在 C++ 中给出不正确的字节数?
- atoi() 在应用于大型命令行参数时会产生不正确的值
- 为什么第一个原型是正确的,而第二个原型是不正确的