c++ - 如果将数组作为指向函数的指针传递,我会得到“系统资源不足,无法完成请求的服务”
问题描述
我正在尝试以下功能
vector<int> getsmallest(int* arr, int size, int lessthan)
{
vector<int> v;
v.clear();
for (int i=0;i<size;i++)
{
if (arr[i] < lessthan)
{
v.push_back(arr[i]);
}
}
return v;
}
上面的函数给了我错误
系统资源不足,无法完成请求的服务
好像我如下更改参数
vector<int> getsmallest(int arr[], int size, int lessthan)
工作正常。
函数调用如下
int arr1[] = { 10, 5, 30, 40, 20 };
vector<int> v = getsmallest(arr1, 5, 25);
这里有什么区别?
解决方案
推荐阅读
- javascript - Javascript用更新的对象替换嵌套的对象数组
- javascript - 在 axios catch 子句中访问 HTTP 错误正文数据
- macos - autoconf 设置库搜索路径
- rust - 取消引用指向已删除值的指针并且内存仍然存在
- c++ - 为向量的每个元素添加价值的最快方法
- active-directory - 如何将我的 Nextcloud 与我的 Samba 服务器连接?
- java - List.contains() 为违反 hashCode 合约的对象返回 true
- function - 我该如何解决: One :: Num a => a -> Bool -> a in Haskell?
- javascript - FabricJs:将对象大小固定在组调整大小上
- android - 在linux中构建cordova应用程序时出错