c++ - 错误:控制到达非空函数的结尾 [-Werror=return-type]
问题描述
当我运行以下代码时,我遇到了一些来自 leetcode 的错误。
class Solution {
public:
int findDuplicate(vector<int>& nums) {
int n = nums.size();
vector<int> dp(n, 0);
for(auto num:nums)
if(dp[num]==1)
return num;
else
dp[num]++;
}
};
solution.cpp:在成员函数 findDuplicate
第 5 行:字符 28:错误:控制到达非 void 函数的结尾 [-Werror=return-type]
vector<int> dp(n, 0);
^
cc1plus:一些警告被视为错误
我之前在其他一些问题中遇到了同样的错误,感谢您的帮助。
解决方案
您已声明findDuplicate
返回一个int
.
如果dp[num]==1
永远不会为真,那么您的函数不会返回int
. 在这种情况下,您的程序的行为是未定义的。
推荐阅读
- python-3.x - Google Assistant SDK 不读取我的邮件
- python - 如何每次创建一个唯一的字母数字 id 并确保它不存在于我使用 python 的现有列表中?
- android - SharedElementTransition 可以交互吗?
- c# - 如何使用 Appium 自动化在 android 模拟器中单击应用程序菜单按钮的事件?
- solr - 精确表达或单词 solr 匹配
- javascript - 如何使用 Vue 指令防止链接或按钮中的点击事件
- oracle - Oracle EBS 12.2.4 与 ADF 的集成
- django - 在 django 中获取 m2m 字段(通过模型)列表
- javascript - Redux 形式,VALUES 来自哪里?
- react-native - React Native - 似乎没有调用函数