13章について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
へたれ

13章について

#1

投稿記事 by へたれ » 15年前

現在、龍神録プログラミングの館のプログラムをそのまま書き込んでいるのですが
13章の敵にショットを撃たせてみようで
shot.cpp(31) : error C3861: 'shot_calc': 識別子が見つかりませんでした
となり、このエラーが解消できません
何が原因なのかがわかりません
コードにうち間違いは無いと思うのですが、原因がわかる方はいらっしゃいますか?


環境は
Visual C++ 2008
XP
です

あと13章に
--- shotH.cpp に以下を追加 ---
という同じコードと思われるもの?が2つあるのですが、何か意味はあるのですか?
2つ書きこむとエラーがでるので1つ消しましたが、よかったのでしょうか?

wing

Re:13章について

#2

投稿記事 by wing » 15年前

void shot_main(){
......
}
の下に
void shot_calc(int n){
.....
}
を書いていませんか?
上に書けばOKです。

へたれ

Re:13章について

#3

投稿記事 by へたれ » 15年前

void shot_main(){
......
}

void shot_calc(int n){
.....
}
の順番を入れ替えたら動作しました

どうもありがとうございました

習うより慣れろという考えかたでプログラム勉強し始めましたが
やはり、基礎はしっかり覚えた方がいいのでしょうか?
いちようやさしいC++を読んだのですがいまいちピントこないんで…

質問ばかりですいません

wing

Re:13章について

#4

投稿記事 by wing » 15年前

今回の問題点は、プログラムは上から下へ順番に実行されるということです。
void shot_main()の中でshot_calc()が呼ばれても、まだ定義されていないので
分かりません、というエラーです。

順番を入れ替える以外にも解決する方法はありました。
shot.cppの上のほうにvoid shot_calc(int n);と宣言すればOKです。
でも龍神録の場合は、function.hにGLOBAL void shot_calc(int n);と書くのがいいですね。
しかし、今回の場合は入れ替えるのが一番いい方法です。

こういうことはエラーをしながら覚えてゆけば良いんじゃないでしょうか。
多少理解できないことがあっても先へ進んでいくうちに分かってくることもあります。

分からないことは質問してください。
龍神録プログラミングの館にお世話になった人は、親切に教えてくれますよ。

閉鎖

“C言語何でも質問掲示板” へ戻る