控制已结束非无效功能
Control reached end of Non Void Function
我正在尝试调用这种递归方法,但我不明白为什么它没有到达返回mul的else语句。我在主函数中传递值 0,它小于 n,并且在 x 大于 n 时,它应该移动到 else 函数。
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int n,mul=0;
vector <int> a;
int calc(int x)
{ int mul,chk;
int l=n;
if(x<n)
{
chk=a[x]*(l-1);
l--;
if(mul<chk)
{
mul=chk;
}
calc(x+1);
}
else
{ return mul;}
}
int main() {
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
sort(a.begin(),a.end());
int z=calc(0);
cout<<z;
return 0;
}
> 知道确切的错误消息,我不是 100% 确定问题是什么,但我想是以下几点:
您的函数如下所示(简化):
int calc(int x) {
if(someCondition){
if(otherCondition){}
calc(x+1);
} else {
return mul;
}
}
问题是如果someCondition
是true
,该函数不返回任何内容。您可能想执行以下操作:
return calc(x+1);
而不仅仅是
calc(x+1);
相关文章:
- 飞镖:FFI 的无效功能
- C++ Mac Xcode 错误:控制可能达到非无效功能的末尾
- 当使用嵌套类功能时,使用非静态数据成员的使用无效,但是当函数未固定时可以
- C 11螺纹 - 非静态成员功能的使用无效 - 工作GCC 5.1.0损坏的GCC 7.3.1
- 将非静态成员函数C 的使用无效,而将成员功能作为函数变量
- C++无效功能行使错误
- 警告:控制可能达到非无效功能的终点?返课时
- 无效打印功能错误
- 功能错误的使用无效
- 无效指针功能的输出
- 具有无效*和无效**的灵活功能调用
- 错误:控制到达非无效功能的末尾
- 与操作员'<<'不匹配 有人可以帮助解决无效功能错误吗?[C++]
- C++ 无效功能与文件流错误
- 从无效功能返回
- 错误:控制到达非无效功能的末尾.找不到修复错误的位置
- 无效功能有问题
- 警告:控件可能达到非无效功能的末尾[-转弯类型]
- 警告:控制达到非无效功能结束 - Qt应用程序
- 控制已结束非无效功能