コードをコンパイルしようとすると2つのコンパイルエラーが発生しています。誰かが光を放つのを助けることができますか?"Old-style parameter declarations"エラー
error: old-style parameter declarations in prototyped function definition
error: 'i' undeclared (first use in this function)
コード:
void printRecords (STUREC records[], int count)
STUREC records[ARRAY_MAX];
int count;
int i;
{
printf("+---------------------------+--------+--------+--------+--------+--------+--------+---------+-------+\n");
printf("| Student Name | ID | Test 1 | Test 2 | Proj 1 | Proj 2 | Proj 3 | Average | Grade |\n");
printf("+---------------------------+--------+--------+--------+--------+--------+--------+---------+-------+\n");
for (i = 0; i < count; i++)
{
size_t j;
printf ("|%s|%d|%d|%d|%d|%d|%d|%f|%c|", records[i].name, records[i].id, records[i].score1,
records[i].score2, records[i].score3, records[i].score4, records[i].score5,
records[i].ave, records[i].grade);
}
return;
}
は、printRecords関数の定義で '{'括弧が間違っているようです。 – jboockmann
'{'は関数のパラメータリストの後にある必要があります。 –
ああ!皆さん、ありがとうございました...私の関数では、printRecordsの 'count'が別の種類のsyboleとして再宣言され、以前の定義がどこにあるのかを記述しているというエラーが出ます。しかし、 'void printRecord(STUREC records []、int count)'の後に 'int count;'のローカル宣言が続きます...これらはエラーコードが指す2行ですが、エラーが何を参照しているのでしょうか? – seanncurtis