在 C++ 中对数组使用阶乘函数

Using a Factorial Function on an Array in C++

我试图让阶乘函数遍历数组中的所有数字并给出结果,但我不断收到错误消息。知道我做错了什么吗?这是我的代码:

#include <iostream>
#include "Recursion.h"

int factorial(int n)
{

if (n == 0)
       return 1;
   else
       return n * factorial(n-1);
}

int main()
{
    int my_list[5] = {2, 4, 6, 8, 10};

    for(int i = 0; i < 5; ++i)
    {
        int b = factorial(my_list[i]);
        std::cout << b << std::endl;
    }

    return 0;

}

您的函数设计为接受单个整数,而不是数组。遍历数组,并对数组中的每个 int 调用方法

for(int i = 0; i < 5; ++i)
{
    int b = factorial(my_list[i]);
    std::cout << b << std::endl;
}