c++ - 参数上缺少默认值
问题描述
我不断收到此错误。
错误:参数“m”缺少默认参数
请有人解释为什么我会得到这个?以及如何解决?
int func(vector<int>& arr, int l, int r,int res = 0,unordered_map<int,int>& m)
{
if (l > r)
{
m[res] ++;;
return;
}
// Subset including arr[l]
func(arr, l+1, r, res || arr[l],m);
// Subset excluding arr[l]
func(arr, l+1, r, res,m);
}
int subarrayBitwiseORs(vector<int>& arr) {
unordered_map<int,int> m;
func(arr, 0, arr.size() - 1,0, m);
return (m.end()--)->first;
}
解决方案
您不能将没有默认值的参数放在具有默认值的参数之后。因此,您可以像这样修复它:
int func(vector<int>& arr, int l, int r, unordered_map<int,int>& m, int res = 0)
推荐阅读
- android - 如何在android中获取全球时间(不是系统特定时间)
- javascript - Jquery:如何在隐藏字段中保持复选框选中/取消选中状态
- python - Web Scraping Atmospheric Data - 基于用户输入的日期/时间
- android - 如何在 Flutter 中为标签栏创建未选中的指示器
- r - 警告消息在 `[<-.factor`(`*tmp*`, iseq, value = foo) 中:无效因子级别,尝试将向量添加到行子集时生成 NA
- javascript - 在没有数学函数的情况下获取最小数字
- java - 我可以为 subscribeOn 方法和异步任务使用相同的执行程序吗
- javascript - 在 codepen 上工作的链接在本地不起作用
- javascript - 来自客户端的最佳请求数
- javascript - 下划线链接