こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C言語初心者の質問失礼します。

C言語初心者の質問失礼します。
プログラムを作って、cygwinでコンパイラしたのですが、以下のようなエラーメッセージが出てしまいました。
expected declaration or statement at end of input
どのような意味なのか教えてください。
ばかみたいな質問でごめんなさい…。

投稿日時 - 2010-06-08 12:29:56

QNo.5953460

すぐに回答ほしいです

質問者が選んだベストアンサー

No. 1 No2 さんに同意です。

直訳すると「入力の最後で、declaration (宣言)もしくは statement (文)が期待されている」です。

文法上、宣言もしくは文のみが期待される場所というのは、複合文のカッコ { と } に挟まれた部分です。

また、ファイルの最後は、関数定義の閉じカッコのはずです。その場所で、宣言もしくは文が期待されるのは、本来おかしいです。

おそらく、プログラマの意図として関数の閉じカッコを書いたハズが、期待通りに関数の閉じカッコとして解釈されず、複合文の閉じカッコとして扱われてしまったのでしょう

つまり、{ に対して } の数が足りないってことです。

投稿日時 - 2010-06-08 14:44:38

お礼

回答ありがとうございます。
コンパイラできました。
とても助かりました。感謝です。

投稿日時 - 2010-06-09 16:41:55

ANo.3

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

そのソースコードを全部見せてください。

投稿日時 - 2010-06-08 20:54:16

お礼

回答ありがとうございます。

投稿日時 - 2010-06-09 16:40:27

ANo.2

エラーメッセージの意味は

「宣言やプログラム行の途中で、ソースファイル(input)が尽きて(at end)しまった」

って感じ。

ソースファイルが途中で切れてしまっているって事は滅多に無いので「{が多い」か「}が足りない」かのどちらかが理由で「フォースファイルが途中で切れているのと論理的に同じ状態」になっているのでしょう。

投稿日時 - 2010-06-08 14:13:45

お礼

尽きて(at end)だったのですね!
回答ありがとうございました。
コンパイラできました。皆様のおかげです。

投稿日時 - 2010-06-09 16:43:25

ANo.1

たぶん、 {    と    }   の対応が、どこかでくずれている可能性があります。

投稿日時 - 2010-06-08 13:35:53

お礼

お早い反応ありがとうございました。
コンパイラできました。
回答ありがとうございます。

投稿日時 - 2010-06-09 16:44:00

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-