You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

递归程序出现‘warning: control reaches end of non-void function’警告的解决方法

消除“control reaches end of non-void function”警告的方法

这个警告的原因是你的函数声明返回vector<int>类型,但存在代码路径没有返回值:当n != N-1时,执行完递归调用Min_Max(a,n+1,N,b);后,函数直接走到末尾,没有返回任何内容,编译器因此触发警告。

修复方法很简单,把递归调用的语句改为返回递归调用的结果,确保所有分支都有返回值:

vector<int> Min_Max(vector<int>& a,int n,int N,vector<int>& b)
{
    if(n==N-1)
    {
        return b;
    }
    if(a[n]<b[0])
    {
        b[0]=a[n];
    }
    if(a[n]>b[1])
    {
        b[1]=a[n];
    }
    return Min_Max(a,n+1,N,b); // 添加return,确保所有路径有返回值
}

这样修改后,所有代码路径都会返回一个vector<int>对象,警告就会消失。

内容的提问来源于stack exchange,提问作者Rahul Namavaram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:50:23