初めてなので文が拙いかもしれませんがご了承ください。
それでは本題に
龍神録のプログラミングの12章を見てプログラミングを書いていました
初心者だから特に設定は変えずそのままコピペしてました
で、コンパイラすると、
c:\users\省略\desktop\project\1章\mydat\include\struct.h(15) : error C2371: 'ch_t' : 再定義されています。異なる基本型です
c:\users\省略\desktop\project\1章\mydat\include\struct.h(15) : 'ch_t' の宣言を確認してください。
と、エラーが出てきました
ほかにも、「struct.h」の中の「'pad_t'」にも
>c:\users\省略\desktop\project\1章\mydat\include\struct.h(20) : error C2371: 'pad_t' : 再定義されています。異なる基本型です。
c:\users\省略\desktop\project\1章\mydat\include\struct.h(20) : 'pad_t' の宣言を確認してください。
が、出てきました
ほかにもたくさんエラーが出てきてどうすればいいか…
一回11章の状態でコンパイラすると普通に成功しました
なぜでしょうか?
とりあえず
'ch_t' : 再定義されています。異なる基本型です
が解決したいです
コンパイラはVisual C++2008です
初めての質問なんでどう書けばいいかよくわかりませんが
ほかに情報が必要でしたらできる限り教えますので
教えてくださいお願いします!
龍神録プログラミングの館12章で詰みました
-
Takumi
Re: 龍神録プログラミングの館12章で詰みました
私も13章までは読んだ初心者なので堂々とは言えませんが・・・
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;
これを重複してどこかで記述しているかその中の定義されている変数をどこかで再び定義されているのかと思います。
例えばここ以外で「int flag;」を記述していたりなど
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;
これを重複してどこかで記述しているかその中の定義されている変数をどこかで再び定義されているのかと思います。
例えばここ以外で「int flag;」を記述していたりなど
Re: 龍神録プログラミングの館12章で詰みました
龍神録プログラミングの館12章の内容は敵の行動パターンをenemy_act_pattern.cppに書き、
enemy_act_pattern.cppの関数を利用できるように
enemy.cppを変更(ページ内ではなぜか追加となっている)するというものです。
error C2371: 'ch_t' : 再定義されています。異なる基本型です については
enemy.cppの変更について追加と書かれているのを見てコピペして追加し、
#include "../include/GV.h"が二つ以上になっていせんか?
この場合、同じヘッダファイルを2回#includeしているため、再定義になっています。
また、コピペして追加していた場合
1>龍神録project\12章\mydat\source\enemy.cpp() : error C2084: 関数 'void enemy_enter(void)' は既に本体を持っています。
1>龍神録project\12章\mydat\source\enemy.cpp() : 'enemy_enter' の前の定義を確認してください
1>龍神録project\12章\mydat\source\enemy.cpp() : error C3861: 'enemy_enter': 識別子が見つかりませんでした
というようなエラーが出ますがこれは同じ関数が二回定義されているためです。
このような状態なのであればenemy.cppの中身を追加と書かれている内容で置き換えてください。
enemy_act_pattern.cppの関数を利用できるように
enemy.cppを変更(ページ内ではなぜか追加となっている)するというものです。
error C2371: 'ch_t' : 再定義されています。異なる基本型です については
enemy.cppの変更について追加と書かれているのを見てコピペして追加し、
#include "../include/GV.h"が二つ以上になっていせんか?
この場合、同じヘッダファイルを2回#includeしているため、再定義になっています。
また、コピペして追加していた場合
1>龍神録project\12章\mydat\source\enemy.cpp() : error C2084: 関数 'void enemy_enter(void)' は既に本体を持っています。
1>龍神録project\12章\mydat\source\enemy.cpp() : 'enemy_enter' の前の定義を確認してください
1>龍神録project\12章\mydat\source\enemy.cpp() : error C3861: 'enemy_enter': 識別子が見つかりませんでした
というようなエラーが出ますがこれは同じ関数が二回定義されているためです。
このような状態なのであればenemy.cppの中身を追加と書かれている内容で置き換えてください。
Re: 龍神録プログラミングの館12章で詰みました
enemy.cppを変更したらできました。ありがとうございます。
しかし、別のエラーがでてきちゃいました。
そのことに関しては別のスレ立てます。
しかし、別のエラーがでてきちゃいました。
そのことに関しては別のスレ立てます。