gpt4 book ai didi

c++ - 错误 : control reaches end of non-void function [-Werror=return-type] } ^

转载 作者:行者123 更新时间:2023-11-30 01:01:58 28 4
gpt4 key购买 nike

问题基本上是关于从给定的“n”个数字生成一个算术表达式,并且该表达式应该可以被 101 整除。我们只能有 +、-、* 运算符并且表达式是左关联的。

我已经尝试了所有可用的解决方案,这些解决方案已经在堆栈溢出中提到过,比如用 else 关闭表达式等等

bool calci(int a[],int n,int sum,int pos,char operato[],deque<int>&q,deque<char>&qc)
{

if(sum%101==0)
{ //cout<<"sum:"<<sum<<endl;
return true;
}

else if(pos==n)
{return false;}
else
{
for(int k=0;k<3;k++)
{ // cout<<"here for "<<a[pos]<<endl;
sum=addto(sum,a[pos],operato[k]);
qc.push_back(operato[k]);
q.push_back(a[pos]);
bool kyaagesemila=calci(a,n,sum,pos+1,operato,q,qc);
if(kyaagesemila)
{
return true;
}
sum=removefrom(sum,a[pos],operato[k]);
qc.pop_back();
q.pop_back();
}
}
}

编译出错

solution.cc:53:1: error: control reaches end of non-void function [-Werror=return-type]
}
^
cc1plus: some warnings being treated as errors```

最佳答案

错误信息很清楚。该函数具有返回类型 bool 但在某些执行路径中不返回任何内容。

在最后一个else语句中哪里有一个带 bool 表达式的return语句?

或者您需要重写最后一个 else 语句,使其在循环外返回一个 bool 表达式。

例如在循环之后你可以添加语句

return false;

附言使用英文单词作为变量标识符。

关于c++ - 错误 : control reaches end of non-void function [-Werror=return-type] } ^,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57221579/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com