0

「実行時チェックの失敗 #3 - 変数 'x' は初期化されずに使用されています。」というエラーが表示され続けます。

配列に入れたすべての数字で初期化したと思いましたか?

#include <iostream>
using namespace std;

const int MAX = 10;

int odd(int sumOdd[])
{
int sum = 0;
for(int i = 0; i < MAX; i ++)
{
    if(sumOdd[i] % 2 != 0)
    sum+=sumOdd[i]; 
}
cout << "Sum of odd integers in the array: " << sum << endl;
return sum;

}

int main()
{
int x[MAX] = {13,14,8,7,45,89,22,18,6,10};

int returnArray(x[MAX]);

cout << "Sum of odd integers in the array" << endl;

system("pause");
return 0;
}
4

2 に答える 2

1

変更してみてください:

 int returnArray(x[MAX]);

 int sum =  returnArray(x);
 cout << "Sum of odd integers in the array" << sum << endl;

returnArray戻りますsum。一時変数を使用して戻り値を保持して出力するか、次のように戻り値を直接使用できます。

cout << "Sum of odd integers in the array" << returnArray(x) << endl;

関数を呼び出すときは、関数名を使用してパラメーターを渡すだけですint。この場合、戻り値の型はもう必要ありません ( )。xではなく、配列名を直接使用することもできx[MAX]ます。

于 2013-05-21T02:04:27.243 に答える
1
int returnArray(x[MAX]); // in main

する必要があります

returnArray(x);

配列を受け取って整数を返す関数を既に宣言しているので、あとは配列をパラメーターとして関数を呼び出すだけです。

于 2013-05-21T02:04:55.393 に答える