ページ 11

自機ショットのエラーについて

Posted: 2009年9月04日(金) 19:09
by まる
プログラミングの館でC言語について勉強させてもらってます。

プログラミングの館の自機にショットをうたせてみようを作ってるのですが、エラーが吐かれます。
自分ではC言語の力不足で原因がわかりませんでした。
エラーはこんな感じです。
c:\documents and settings\shi\デスクトップ\project\1章\mydat\source\cshot.cpp(56) : error C2039: 'shot_cnt' : 'ch_t' のメンバではありません。
c:\documents and settings\shi\デスクトップ\project\1章\mydat\include\struct.h(2) : 'ch_t' の宣言を確認してください。
c:\documents and settings\shi\デスクトップ\project\1章\mydat\source\cshot.cpp(57) : error C2039: 'shot_cnt' : 'ch_t' のメンバではありません。
c:\documents and settings\shi\デスクトップ\project\1章\mydat\include\struct.h(2) : 'ch_t' の宣言を確認してください。
c:\documents and settings\shi\デスクトップ\project\1章\mydat\source\cshot.cpp(65) : error C2039: 'shot_cnt' : 'ch_t' のメンバではありません。
c:\documents and settings\shi\デスクトップ\project\1章\mydat\include\struct.h(2) : 'ch_t' の宣言を確認してください。


解決方法分かる方よろしくお願いします。

Re:自機ショットのエラーについて

Posted: 2009年9月04日(金) 20:59
by conio
エラーに書いてある通り、
------------------------------------------------------------
構造体"ch_t"の中に"shot_cnt"というメンバは存在しませんよ?
------------------------------------------------------------
という意味です。

で、構造体"ch_t"は下記の様になっているみたいですね。
------------------------------------
typedef struct{
        int flag;       //フラグ
        int cnt;        //カウンタ
        int power;      //パワー
        int point;      //ポイント
        int score;      //スコア
        int num;        //残機数
        int mutekicnt;  //無敵状態とカウント
        int shot_mode;  //ショットモード
        int money;      //お金
        int img;        //画像
        int slow;       //スローかどうか
        double x,y;     //座標
}ch_t;
------------------------------------

見たところ、"shot_cnt"というメンバは無いようなので、下記の様に変更すればよいと思います。
"shot_cnt"は、多分ショットのカウンタだと思いますので、とりあえずint型にしてます。
(勝手に推測してしまいましたので、確認をしておいた方が良いと思います。)

------------------------------------
typedef struct{
        int flag;       //フラグ
        int cnt;        //カウンタ
        int power;      //パワー
        int point;      //ポイント
        int score;      //スコア
        int num;        //残機数
        int mutekicnt;  //無敵状態とカウント
        int shot_mode;  //ショットモード
        int shot_cnt    //ショットカウンタ(?)
        int money;      //お金
        int img;        //画像
        int slow;       //スローかどうか
        double x,y;     //座標
}ch_t;
------------------------------------

Re:自機ショットのエラーについて

Posted: 2009年9月04日(金) 21:07
by まる
対応ありがとうございます。

その方法試してみたところ、今度はつぎのようなエラーが吐かれるようになってしまいました。

c:\documents and settings\shi\デスクトップ\project\1章\mydat\include\struct.h(12) : error C2144: 構文エラー : 'int' は ';' によって先行されなければなりません。

Re:自機ショットのエラーについて

Posted: 2009年9月04日(金) 21:13
by conio
すいません
セミコロンが消えてました。

---------------------------------------------------------
【誤】 int shot_cnt //ショットカウンタ(?)
【正】 int shot_cnt; //ショットカウンタ(?)
---------------------------------------------------------

これでどうでしょうか。

Re:自機ショットのエラーについて

Posted: 2009年9月04日(金) 21:21
by まる
エラーなく起動する事ができました。とても勉強になりました。
ありがとうございました。