Push_back 奇数

Push_back odd numbers

因此,该函数的目标是将奇数添加到 1 和提供的整数(含)之间的数组。这似乎是一项简单的任务,但是,我似乎无法成功地将整数添加到实际数组中。

void populate(std::vector<int> ary, int a)
{
    for (int i = 1; i <= a; i++)
    {
        if (i % 2 != 0)
        {

            ary.push_back(i);
        }

    }
}

函数本身不是常量,所以它不应该成功地向数组添加值吗?

编辑:这一切都是在主程序中完成的,所以就在这里。

int main()
{
    std::vector<int> loli(100);

    populate(loli, 31);


    for (int value : loli)
    {

        std::cout << value << " ";
        system("pause");
    }
}

编辑 2:我尝试添加一个 return 语句,但是我得到的结果仍然为零。

std::vector<int> populate(std::vector<int> ary, int a)
{
    for (int i = 1; i <= a; i++)
    {
        if (i % 2 != 0)
        {

            ary.push_back(i);
        }

    }
    return ary;
}



int main()
{

    std::vector<int> loli(100);




    for (int value : populate(loli, 31))
    {

        std::cout << value << " ";
        system("pause");
    }



}

您的函数应该 return for 循环之后的最终数组,或者您应该将数组作为指向函数的指针传递。