ヘッダファイル内での定義について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
test

ヘッダファイル内での定義について

#1

投稿記事 by test » 14年前

私は今ゲームを作成しています。
すると、どうしてもコードが長くなってしまうため分割コンパイルをすることにしました。
ヘッダファイル自体を作成することには何の問題もなかったのですが、
ヘッダファイル内で、クラスの定義を行う際に、標準ライブラリのlistを使用したところ
      
       構文エラー : ';' が '<' の前にありません。
       型指定子がありません - int と仮定しました

とのエラーが出ました。このエラーについて説明をさせていただきますと、
私がクラス内で、 list<Bullet*> MyBulletList という記述をしたことに対し、
<Bullet*>の前にセミコロンがないとのエラーが出るのです。
また、MyBulletListも<Bullet*>でなくint型と判断したようなのです
当然、ヘッダファイルのほうにも、listコンテナをインクルードしています。
また、ヘッダファイルのコードをすべて、Main.cppに詰め込んだところ正常に起動したため、
クラスやリストの定義の仕方は間違ってはいないと思います。
どなたか、解決法がわかる方がいらっしゃれば、教えてください。お願いします

かずま

Re: ヘッダファイル内での定義について

#2

投稿記事 by かずま » 14年前

test さんが書きました: 私がクラス内で、 list<Bullet*> MyBulletList という記述をしたことに対し、
<Bullet*>の前にセミコロンがないとのエラーが出るのです。
std::list<Bullet*> MyBulletList; と書いてみたらどうなりますか?
また、Main.cpp には using namespace std; があるのでは?

test

Re: ヘッダファイル内での定義について

#3

投稿記事 by test » 14年前

ありがとうございます。解決いたしました。
そう言われてみると、当然のことでした。
おかげさまで完成させれそうです。
本当にありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る