3

次のコードが原因で発生するエラーがわかりません。 を使用してファイルを開こうとしていますfopen()が、エラーが意味をなさないので、全体を説明してください。

10 - FILE * THE_FILE_YOU_READ;
11 - THE_FILE_YOU_READ = fopen("num.txt","r");

これらの 2 行だけで、次のようないくつかの警告とエラーが生成されます。

11 - warning: data definition has no type or storage class [enabled by default]
11 - error: conflicting types for 'THE_FILE_YOU_READ'
10 - note: previous declaration of 'THE_FILE_YOU_READ' was here
11 - warning: initialization makes integer from pointer without a cast [enabled by default]
11 - error: initializer element is not constant

関連する場合は、Code::Blocks を使用しています。この変数 `THE_FILE_YOU_READ は、プログラムの他の場所では宣言していません。アイデアはありますか、それともこれは単に私の愚かな見落としですか?

4

1 に答える 1

9

このコードは、ファイル スコープで関数の外に記述しました。それは無効です。ステートメントは関数内でのみ使用できます。関数の外では、コンパイラは 2 行目を暗黙の型 . を持つ宣言/定義として解釈しようとしていintます。

于 2013-04-24T14:10:45.707 に答える