C++ // 并非所有控制路径都返回值
C++ // Not all control paths return a value
int bounce(int n) {
if (n == 0)
{
cout << "0" << endl;
}
if (n > 0)
{
cout << n << endl;
bounce(n - 1);
cout << n << endl;
}
}
int main()
{
int x;
cout << "Choose a number: ";
cin >> x;
cout << bounce(x) << endl;
system("pause");
return 0;
}
我最近第一次开始使用 C++(大约 2 小时前:D(,我遇到的问题是"反弹:并非所有控制路径都返回值",我不知道如何解决这个问题,显然我需要返回 0; 或函数中的某个地方,但我无法在不破坏它的工作方式的情况下找到位置。
示例 : bounce(5( ==> 打印出 5 4 3 2 1 0 1 2 3 4 5
TL DR:将返回放在反弹的位置以使其正常工作。
实际上,您的任何控件路径都不返回值。由于您仅使用该函数在屏幕上打印某些内容,因此它不必返回任何内容。只需使返回类型无效:
void bounce(int n) {
/*...*/
}
然后不要cout
函数调用的结果(一旦你做到了void
函数无论如何都不会返回任何内容(,即代替:
std::cout << bounce(x) << std::endl;
只需写
bounce(x);
您已经在函数内的屏幕上打印。
在 C++ 中定义函数时,请在函数名称之前指定返回类型。
您的 int bounce()
函数被声明为返回一个整数,但它根本不返回任何值。因此,这会导致错误。
您可以使用 void bounce()
声明函数,这会告诉编译器您的函数不会返回任何值。这将消除错误。
注意:尽管您使用cout
来显示值,但这不同于以我们正在讨论的方式返回值。返回值是使用 return
关键字指定的。
相关文章:
- 从python中调用C++函数并获取返回值
- 为什么模板类中的对象不能返回值
- 返回值优化:显式移动还是隐式
- lock_guard是否保护返回值
- 调用CreateProcess()并获取字符串的返回值
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- 查找 GCD:并非所有控制路径都返回值
- 不断收到错误消息,并非所有控制路径都返回值
- "警告:并非所有控制路径都返回值"是什么意思?(C++)
- 接收并非所有控制路径返回值的警告
- 获取错误:警告C4715::并非所有控制路径都返回值,但不确定原因
- 此功能是否具有所有控制路径上的明确返回值
- 警告 C4715:'bankingMenu':并非所有控制路径都返回值 (C++)
- 警告 C4715:"运算符==":并非所有控制路径都返回值
- 警告C4715:并非所有控制路径都返回值c++
- 错误:并非所有控制路径都返回值
- C++ // 并非所有控制路径都返回值
- 什么路径不返回值?
- 不是所有控制路径都返回值?警告
- 警告 C4715:'d2cs_conn_set_addr':并非所有控制路径都返回值