我在 C++ 代码中遇到错误警告:控制到达非空函数 [-Wreturn 类型] 的末尾



>这里是代码 在这个小作业中,你会得到一串空格分隔的数字,并且必须返回最高和最低的数字

#include <string>
std::string highAndLow(const std::string& numbers)
{
int big,small;
int a;
a = numbers.length();
big = numbers[0];
small = numbers[0];
for(int i=0;i<a; i++)
{
if(big<numbers[i+1])
big = numbers[i+1]; 
}
for(int i=0;i<a;i++)
{
if(small > numbers[i+1])
small = numbers[i+1];

}
std::cout<<big<<" "<<small;
}

你的函数的返回类型是std::string,所以编译器会要求你返回一个。如果你有某种分支(例如if-else语句(,那么在每个分支的末尾返回一个也必须是这种情况。如果违反上述任何一项,您将收到此错误消息。在这种情况下,您可以将函数更改为 void 函数(然后完全可以接受不返回(,也可以更新它以返回std::string

最新更新