计算n个整数之和的递归函数C++

Recursive function that computes sum of n integers C++

本文关键字:和的 递归函数 C++ 整数 计算      更新时间:2023-10-16

我必须制作一个递归函数,计算至少n个整数数组中第一个n个整数的和。我相信我已经完成了cout语句的功能,但却导致了一个错误。如有任何帮助,我们将不胜感激。

#include <iostream>
using namespace std;
int n = 0;
int array[];
int sum(int array[], int n);
int main()
{
    cout << sum(array, 4)<< endl;
    return 0;
}//end main
int sum(int array[], int n)
{
    if(n <= 0) 
    {
        return 0;
    }
    else
    {
        return array[0] + sum(array + 1, n-1);
    }
}// end Compute

错误如下:

致命错误LNK1120:1个未解析的外部

您的变量array从未在任何地方定义,并且int array[];不是有效语法(但由于某种原因,编译器将其视为extern声明或其他内容)。更改无效语法以定义它:

int array[] = { 1, 2, 3, 4 }; // for example

我的心理调试技能告诉我,未定义的外部符号是array,因为你从未给它一个大小或值。

由于它是一个无大小的数组,因此它被视为外部声明而不是定义。如果初始化数组,它应该编译并链接。

int array[] = { 1, 1, 2, 3, 5, 8 };