0

少なくとも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つの未解決の外観

4

2 に答える 2

2

あなたの変数arrayはどこにも定義されてint array[];おらず、有効な構文ではありません(ただし、何らかの理由でコンパイラはそれをextern宣言または何かとして扱っています)。無効な構文を変更して定義します。

int array[] = { 1, 2, 3, 4 }; // for example
于 2012-09-04T19:49:40.397 に答える
0

私のサイキック デバッグ スキルによると、未定義の外部シンボルはarrayです。これは、サイズや値が指定されていないためです。

サイズのない配列であるため、定義ではなく extern 宣言として扱われます。配列を初期化すると、コンパイルしてリンクする必要があります。

int array[] = { 1, 1, 2, 3, 5, 8 };
于 2012-09-04T20:00:56.927 に答える