トップページ > 過去ログ > 記事閲覧
エラーを直したい
名前:ヨシ 日時: 2008/07/20 16:56

14才から始めるC言語プログラミングの184ページで、BULLETFREQがエラーc2065で「定義されていない識別子」。とコメントされます。どうしたらよろしいでしょうか? 教えてくださいませんか。

Page: 1 |

Re: エラーを直したい ( No.1 )
名前:ヨシ 日時:2008/07/20 18:40

168ページですでに#include "myhelper.h" #include "mymain.h" #include "chap4.h"致しております。
Re: エラーを直したい ( No.2 )
名前:ヨシ 日時:2008/07/20 19:02

184ページには以下のように入力しております。void DrawEnemies04(){ for (int i=0; i<g_usedenemy_num; i++){ if (g_enemies[i].used == TRUE){ DrawAnimation(g_enemies[i].position.x, g_enemies[i].position.y + 15, 1,0, g_enemies[i].hanten, &g_enemyimage04,1,12); //敵の弾発射処理 if ( g_enemies[i].temp1 < (GetNowCount() & MAXINT) ) { //自キャラとの距離を調べる float l =VectorLengthSquare( SubVector(g_enemies[i].position,g_jikipos)); if ( l< 260*260 ){ g_enemies[i].temp1 = (GetNowCount() & MAXINT) +BULLETFREQ; for (int j=0; j<MAXBULLET; j++){ if (g_ebullets[j].used == FALSE){ g_ebullets[j].bpos.position = g_enemies[i].position; g_ebullets[j].bpos.hankei = 14; if(g_enemies[i].hanten == DIRECTION_RIGHT){ g_ebullets[j].distance.x = BULLETSPEED; }else{ g_ebullets[j].distance.x = -BULLETSPEED; } g_ebullets[j].distance.y = 0; g_ebullets[j].used = TRUE; break; } } } } } } DrawBullet04(); }
Re: エラーを直したい ( No.3 )
名前:ヨシ 日時:2008/07/20 19:04

何度もすみません。エラーメッセージは以下のコメントです。 1>コンパイルしています... 1>chap4.cpp 1>c:\users\seo yoshinobu\documents\visual studio 2008\projects\chap4\chap4.cpp(73) : error C2065: 'BULLETFREQ' : 定義されていない識別子です。
Re: エラーを直したい ( No.4 )
名前:ヨシ 日時:2008/07/20 21:49

自分なりにインターネットで調べると、FREQは、定数だとわかりました。(テキストにもBULLETFREQは定数であると述べています。そこで、chap4に BULLETFREQを記入するので、Chap4は、質問No.2で私が述べたように、mymain.hを取り込んでいるので、そこの//定数の//敵キャラの弾に関するデータへ const int BULLETFREQ=1000; //自分で考えた を入力してみました。すると、187ページの下の写真のように、敵キャラから、敵弾が一定間隔で発射されるようになりました。^^。でも果たしてこれでよいのでしょうか?ビルドはできましたが......。
Re: エラーを直したい ( No.5 )
名前:ヨシ 日時:2008/07/20 22:01

const int BULLETFREQ = 3000; のほうが初心者には、敵の弾が避ける暇があって、良いかもしれません。1000ですと、敵の弾が次々発射されます。
Re: エラーを直したい ( No.6 )
名前:ヨシ 日時:2008/07/20 22:06

ちなみに、141ページの下の入力で、myhelper.cpp#WinMain関数となっていますが、mymain.cpp#LoadFiles関数ではないでしょうか?
Re: エラーを直したい ( No.7 )
名前:ヨシ 日時:2008/07/20 23:20

どうもお騒がせしてすみませんでした。193ページへ進むと、開発フォルダに入っているソースコードのchap4(4-3終了時)に「エラーを直したい(No5)」のコードがずばり載っていました。ということは、176ページの046行目にconst int BULLETFREQ = 3000; //弾の発射間隔 が抜けていたということだと思います。

Page: 1 |