0

ファイル「Particles.h」内に独自のクラスがあり、クラスの実装は「Particles.cpp」内にあります

ファイル「Load.h」にその中のクラスを認識させたいので、次の行を追加しました

#include "Particles.h"

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

私は何をすべきか?

4

5 に答える 5

2

インクルード パス (#include するファイルを見つけるためにコンパイラがスキャンするディレクトリのリスト) が正しく設定されていないようです。どのコンパイラを使用していますか?

于 2008-09-16T13:06:33.000 に答える
1

エラーコードをリストアップしていただけると助かります。私の頭の上で、Particles.h に、ファイルが 1 回だけ含まれるようにする何かがありますか? これには 2 つの方法があります。1 つ目は #pragma once を使用することですが、これは Microsoft 固有のものである可能性があります。2 つ目は、#define を使用することです。例:

#ifndef PARTICLES_H 
#define PARTICLES_H

class CParticleWrapper
{
...
};

#endif

また、Particles.h のクラスから派生するか、ポインターの代わりにクラスのインスタンスを使用する場合を除き、クラスの前方宣言を使用して、ヘッダー ファイルにヘッダー ファイルを含めることをスキップできます。コンパイル時間。

#ifndef LOAD_H
#define LOAD_H

class CParticleWrapper;

class CLoader
{
   CParticleWrapper * m_pParticle;

public:

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

#endif

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

于 2008-09-16T13:23:10.887 に答える
0

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

于 2008-09-16T13:10:02.027 に答える
0

Dev C++,それは GCC を使用します, 行は次のとおりです:

Stone *stone[48];

そして、「「*」トークンの前にコンストラクタ、デストラクタ、または型変換が必要です」と書かれています。

于 2008-09-16T13:10:06.207 に答える
0

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

于 2008-09-16T14:40:57.720 に答える