龍神録プログラミングで学習中です
typedef structで構造体を定義し。
定義したヘッダファイルをインクルードしたヘッダで、
ch_t ch;としたのですが、実行しようとすると、再定義されています。
などとエラーが出てコンパイルできません。
原因としては、何が考えられるでしょうか。
<struct.h>
typedef struct{
double x;
略
int shot_cnt;
}ch_t;
<define.h>
//フィールドの広さ
#define FIELD_MAX_X 500
#define FIELD_MAX_Y 560
//フィールド左上座標
#define FIELD_X 40
#define FIELD_Y 40
//パッド最大数
#define PAD_MAX 16
#include "struct.h"
<GV.h>
#include "DxLib.h"
#include "define.h"
#include "math.h"
#ifdef GLOBAL_INSTANCE
#define GLOBAL
#else
#define GLOBAL extern
#endif
#include "function.h"
//構造体の宣言
GLOBAL ch_t ch; //キャラの各種データ
再定義
Re:再定義
1>c:\users\\documents\visual studio 2008\projects\first\struct.h(16) : warning C4094: タグのない 'struct' がシンボルなしで宣言されています。
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(14) : error C2146: 構文エラー : ';' が、識別子 'ch' の前に必要です。
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(14) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(14) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(14) : error C3872: '0x3000': この文字を識別子で使用することはできません
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(15) : error C2144: 構文エラー : 'int' は ';' によって先行されなければなりません。
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(15) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(15) : error C2146: 構文エラー : ';' が、識別子 'configpad' の前に必要です。
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(15) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(15) : error C2377: 'configpad_t' : 再定義されています。typedef は他のどのシンボルでもオーバーロードできません
1> c:\users\chihiro\documents\visual studio 2008\projects\first\struct.h(27) : 'configpad_t' の宣言を確認してください。
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(15) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(4) : error C2228: '.cnt' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(5) : error C2228: '.graph_i' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(5) : error C2228: '.cnt' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(15) : error C2228: '.left' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(15) : error C2228: '.right' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(16) : error C2228: '.down' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(16) : error C2228: '.up' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(30) : error C2228: '.x' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(30) : error C2228: '.y' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(32) : error C2228: '.slow' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(37) : error C2228: '.x' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(37) : error C2228: '.y' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
こんな感じです。
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(14) : error C2146: 構文エラー : ';' が、識別子 'ch' の前に必要です。
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(14) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(14) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(14) : error C3872: '0x3000': この文字を識別子で使用することはできません
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(15) : error C2144: 構文エラー : 'int' は ';' によって先行されなければなりません。
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(15) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(15) : error C2146: 構文エラー : ';' が、識別子 'configpad' の前に必要です。
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(15) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(15) : error C2377: 'configpad_t' : 再定義されています。typedef は他のどのシンボルでもオーバーロードできません
1> c:\users\chihiro\documents\visual studio 2008\projects\first\struct.h(27) : 'configpad_t' の宣言を確認してください。
1>c:\users\\documents\visual studio 2008\projects\first\gv.h(15) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(4) : error C2228: '.cnt' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(5) : error C2228: '.graph_i' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(5) : error C2228: '.cnt' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(15) : error C2228: '.left' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(15) : error C2228: '.right' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(16) : error C2228: '.down' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(16) : error C2228: '.up' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(30) : error C2228: '.x' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(30) : error C2228: '.y' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(32) : error C2228: '.slow' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(37) : error C2228: '.x' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
1>c:\users\\documents\visual studio 2008\projects\first\char.cpp(37) : error C2228: '.y' の左側はクラス、構造体、共用体でなければなりません
1> 型は 'int' です。
こんな感じです。