gpt4 book ai didi

c++ - return 语句何时会中断函数?

转载 作者:行者123 更新时间:2023-11-28 02:03:33 26 4
gpt4 key购买 nike

我用这段代码得到“控制到达非空函数的结尾”:

class Solution {
public:
vector<int> solutions;
vector<int> twoSum(vector<int>& nums, int target)
{
for(int i = 0; i < nums.size(); i++)
{
for(int j = i+1; j < nums.size(); i++)
{
if(nums[i] + nums[j] == target)
{
solutions.push_back(j);
solutions.push_back(i);
return solutions:
}
}
}
}
};

我认为 return 语句应该在函数到达时立即中断函数?任何帮助表示赞赏。谢谢!

最佳答案

由于函数的返回类型是 vector ,因此它必须始终返回 vector 。但是您编写代码的方式可能并不总是返回 vector 。如果您的 if 语句永远不会变为 true,则函数根据定义返回 void,它必须返回 vector。这就是编译器可能会生成警告的原因。我想以下将解决您的问题:

vector<int> twoSum(vector<int>& nums, int target) 
{
for(int i = 0; i < nums.size(); i++)
{
for(int j = i+1; j < nums.size(); j++)
{
if(nums[i] + nums[j] == target)
{
solutions.push_back(j);
solutions.push_back(i);
return solutions;
}
}
}
return solutions;
}

关于c++ - return 语句何时会中断函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38428658/

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