gpt4 book ai didi

c++ - 控制到达非空函数的结尾 [-Wreturn-type]

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:49:16 25 4
gpt4 key购买 nike

我写了一段代码:

int gnrt(vector <int> vect, int n)
{
std::vector <int> :: iterator it;
it = find(vect.begin(), vect.end(), n);
if(it!=vect.end()) gnrt(vect, n+1);
else return n;
}

我试图找到一个与 vector 中的任何元素都不相似的数字 n。但它一直显示警告:

In function 'int gnrt(std::vector<int>, int)':
warning: control reaches end of non-void function [-Wreturn-type]

任何人请解释这里发生了什么。

最佳答案

问题出在这里:

if(it!=vect.end()) gnrt(vect, n+1);
else return n;

您的 if 案例没有返回值。

你可能想这样做:

if (it!=vect.end()) 
return gnrt(vect, n+1);
else
return n;

我不知道您使用的是什么编译器,但通常会显示生成错误或警告的行以帮助您找到问题。

关于c++ - 控制到达非空函数的结尾 [-Wreturn-type],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58573677/

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