• ベストアンサー

C++のヘッダーについて

C++のプログラミングをしています そこで出てきた問題なのですが・・・ class Aのヘッダファイルa.hをほかのcppファイルにインクルードすると、 error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません error C2146: 構文エラー : ';' が、識別子 'test' の前に必要です。 とほかのヘッダファイルでコンパイルエラーがでます ヘッダファイルをインクルードしたときのみこのエラーがでて困っています。 解決法や、ヒントになりそうな事例を知りませんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.4

>全部は量が多く載せきれないと思い一部ですがよろしくおねがいします 量が多いのであれば、エラーが再現する程度に小さくして掲載して下さい。 ソースコードがない状態でこれ以上適切なアドバイスを得ることは不可能です。

その他の回答 (4)

回答No.5

namespaceがちがうとか?

  • keibou21
  • ベストアンサー率31% (18/58)
回答No.3

Aを定義しているヘッダファイルはcommon.h に含まれていますか?

CTester
質問者

補足

含まれています! pragma onceはあるのですが、循環でしょうか その場合どのような対処法がよいのでしょうか?

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

ケチケチせずに全部載せなよ。 >a.hはこのような状態です >セミコロンは忘れていないようです どっちかというとつけすぎ。

CTester
質問者

補足

つけ過ぎな部分を修正しましたが別な問題があるみたいです #pragma once #include "common.h" class Scene:public SceneBase{ A test; public: void Init(); void Finalize(); }; error C2146: 構文エラー : ';' が、識別子 'test' の前に必要です。 が出る部分です 全部は量が多く載せきれないと思い一部ですがよろしくおねがいします

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

class A { ... }; の最後のゼミコロンを忘れているとか、きっと下らない理由だと思う。 適当にソースファイルを補足に書けばすぐに誰かが指摘してくれるよ。

CTester
質問者

補足

#pragma once #include "common.h" class A:public B{ public: ~A(){}; void Init(){}; }; a.hはこのような状態です セミコロンは忘れていないようです

関連するQ&A