error C2146とC4430を解決するには?


MK  2011-07-14 13:50:35  No: 72816  IP: 192.*.*.*

現在、学校の課題でゲーム制作をVC++2008を使って作っているのですが、その作っている段階でエラーが出たので質問したく書きました。

ちなみにライブラリはDirectXを使用しています。

エラーの部分なのですが、

#ifndef _enemy_h_
#define _enemy_h_

//-敵-//
#define enemy_d_x1 160    //描画X座標始点
#define enemy_d_y1 40    //描画Y座標始点
#define enemy_d_x2 200    //描画X座標始点
#define enemy_d_y2 80    //描画Y座標始点
#define enemy_half 20    //座標修正
#define enemy_kazu 6    //敵の数
#define enemy_move1 1    //敵の動き方1
#define enemy_move2 2    //敵の動き方2
#define enemy_up 0      //上
#define enemy_down 1    //下
#define enemy_left 2    //左
#define enemy_right 3    //右
#define enemy_set_kazu 3  //敵が出現する数

extern obj enemy[];  ←  ここの部分で

エラー4  error C2146: 構文エラー : ';' が、識別子 'enemy' の前に必要で
す。

エラー5  error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません。

エラー6  error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません

といったエラーが出るのですがどうしたら解決できるでしょうか、教えてくださいm(__)

よろしくお願いします。

編集 削除
ホウジョウウサギ  2011-07-14 16:13:28  No: 72817  IP: 192.*.*.*

提示されたコードはヘッダファイルの一部だと見受けますが,
エラーが出るのは
そのヘッダをincludeしている側で"obj"という型名が不明だと言われているのではないでしょうか.

そのヘッダよりも前に obj型のためのヘッダファイルをincludeするなりすれば良いかと思います.


#あと質問内容と関係ないけど,_で始まる単語は予約されているんじゃなかったけ?

編集 削除