首页 > 解决方案 > 如果将数组作为指向函数的指针传递,我会得到“系统资源不足,无法完成请求的服务”

问题描述

我正在尝试以下功能

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);

这里有什么区别?

标签: c++arraysvector

解决方案


推荐阅读