2008-09-16 6 views
0

で「Particles.cpp」を他のファイルのクラスを認識しません一つのファイルには、私は、ファイル内の「Particles.hを」自分のクラスがあり、クラスの実装は内部でC++

私は、ファイル「Load.hをしたいです「そこの内側に私のクラスを認識するので、私はラインに

#include "Particles.h" 

を追加しました、ファイルがそれを認識し、過去のすべてに(私はそのクラス内の任意の変更を加えていない)OKだったしません。

どうすればよいですか?

答えて

2

あなたのインクルードパス - あなたが#includeするファイルを見つけるためにコンパイラがスキャンするディレクトリのリストのように聞こえます - 間違って設定されています。どのコンパイラを使用していますか?

0

"Particles.cpp"ファイルにも "Particles.h"が含まれていて、ファイルが同じフォルダにあり、それらがすべて同じプロジェクトの一部であることを確認してください。コンパイラから取得したエラーメッセージも共有すると役立ちます。

0

のDev C++、それはラインがあるGCC、 を使用しています。

Stone *stone[48]; 

と、それは言う: " '*' トークンの前に、コンストラクタ、デストラクタ、または型変換を期待しました"。

1

エラーコードを記載しておけば、それが役に立つかもしれません。私の頭の上から、Particles.hにファイルが1回だけ含まれていることを確認するための何かがありますか?これを行うには2つの方法があります。 1つ目は#pragma onceを使用することですが、Microsoft固有のものかもしれません。 2番目は#defineを使うことです。 例:Particles.hにクラスから派生またはクラスのインスタンスの代わりにポインタを使用している場合を除き

#ifndef PARTICLES_H 
#define PARTICLES_H 

class CParticleWrapper 
{ 
... 
}; 

#endif 

また、あなたはクラスの前方宣言を使用して、ヘッダを含むスキップすることができファイルをヘッダファイルに格納すると、コンパイル時間を節約できます。

#ifndef LOAD_H 
#define LOAD_H 

class CParticleWrapper; 

class CLoader 
{ 
    CParticleWrapper * m_pParticle; 

public: 

    CLoader(CParticleWrapper * pParticle); 
    ... 
}; 

#endif 

次に、Load.cppにparticle.hファイルを含めます。

0

Stoneクラスの定義を含める必要があるように聞こえますが、それ以上の詳細を言わないと言うことはできません。無関係なコードを削除してエラーを絞り込み、それを投稿できますか?

関連する問題