3
4

3 に答える 3

12

C++ では、関数の外でグローバル配列に値を割り当てることはできません。次の行を main 関数内に移動します。

f[0]=1;
f[1]=1;
go[0]=1;
go[1]=1;
于 2012-11-07T07:54:51.047 に答える
3

関数宣言内の変数にのみ値を割り当てる必要があります。

#include<iostream>
using namespace std;
int go[10000],f[10000],n,i;
int g(int x) {
    return (f[x-1] + go[x-1]);
}
int main() {

f[0]=1;
f[1]=1;
go[0]=1;
go[1]=1;


    cin>>n;

     for (i=2;i<=n;i++) {
        f[i]=f[i-1]+f[i-2]+(2*g(i-2));
    }
    cout<<f[i];
    system("PAUSE");
}
于 2012-11-07T07:59:12.420 に答える
3

ファイル スコープで割り当てを行うことはできません。
ただし、初期化はできます。
このような:

int go[10000] = {1, 1};  // The remaining 9998 elements will be set to zero automatically.
int f[10000] = {1, 1};

または、割り当てを 内に移動しmainます。

于 2012-11-07T10:20:55.823 に答える