- ベストアンサー
C++のヘッダーについて
C++のプログラミングをしています そこで出てきた問題なのですが・・・ class Aのヘッダファイルa.hをほかのcppファイルにインクルードすると、 error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません error C2146: 構文エラー : ';' が、識別子 'test' の前に必要です。 とほかのヘッダファイルでコンパイルエラーがでます ヘッダファイルをインクルードしたときのみこのエラーがでて困っています。 解決法や、ヒントになりそうな事例を知りませんでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>全部は量が多く載せきれないと思い一部ですがよろしくおねがいします 量が多いのであれば、エラーが再現する程度に小さくして掲載して下さい。 ソースコードがない状態でこれ以上適切なアドバイスを得ることは不可能です。
その他の回答 (4)
- penguin999
- ベストアンサー率66% (2/3)
namespaceがちがうとか?
- keibou21
- ベストアンサー率31% (18/58)
Aを定義しているヘッダファイルはcommon.h に含まれていますか?
- koko_u_
- ベストアンサー率18% (459/2509)
ケチケチせずに全部載せなよ。 >a.hはこのような状態です >セミコロンは忘れていないようです どっちかというとつけすぎ。
補足
つけ過ぎな部分を修正しましたが別な問題があるみたいです #pragma once #include "common.h" class Scene:public SceneBase{ A test; public: void Init(); void Finalize(); }; error C2146: 構文エラー : ';' が、識別子 'test' の前に必要です。 が出る部分です 全部は量が多く載せきれないと思い一部ですがよろしくおねがいします
- koko_u_
- ベストアンサー率18% (459/2509)
class A { ... }; の最後のゼミコロンを忘れているとか、きっと下らない理由だと思う。 適当にソースファイルを補足に書けばすぐに誰かが指摘してくれるよ。
補足
#pragma once #include "common.h" class A:public B{ public: ~A(){}; void Init(){}; }; a.hはこのような状態です セミコロンは忘れていないようです
補足
含まれています! pragma onceはあるのですが、循環でしょうか その場合どのような対処法がよいのでしょうか?