gpt4 book ai didi

c++ - 错误 - 控制可能到达非空函数的末尾

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

bool isValidDate(int month, int day, int year) {
if(isLeapYear(year)){
if(year >= 1752 && month >= 9 && day >= 13){
if((month == 9 || month == 4 || month == 6 || month == 11) && (day <= 30)){
return true;
}
else if((month == 2) && (day <= 29)){
return true;
}
else if(((month >= 1 && month <= 3) || (month >=5 && month <= 8) || month == 10 || month == 12) && (day <= 31)){
return true;
}
else{
return false;
}
}
}
else {
if(year >= 1752 && month >= 9 && day >= 13){
if((month == 9 || month == 4 || month == 6 || month == 11) && (day <= 30)){
return true;
}
else if((month == 2) && (day <= 28)){
return true;
}
else if(((month >= 1 && month <= 3) || (month >=5 && month <= 8) || month == 10 || month == 12) && (day <= 31)){
return true;
}
else{
return false;
}
}
}
}

我不明白为什么会出现这样的错误。只能有两条可能的路线,所以这意味着肯定会有一个返回值。我很困惑。请帮忙!

最佳答案

有一种可能的路线是不返回的。如果 if(year >= 1752 && month >= 9 && day >= 13) 计算结果不为真。

else{
if(year >= 1752 && month >= 9 && day >= 13){
if((month == 9 || month == 4 || month == 6 || month == 11) && (day <= 30)){
return true;
}
else if((month == 2) && (day <= 28)){
return true;
}
else if(((month >= 1 && month <= 3) || (month >=5 && month <= 8) || month == 10 || month == 12) && (day <= 31)){
return true;
}
else{
return false;
}
}
// return here
}

关于c++ - 错误 - 控制可能到达非空函数的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32927435/

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