ファイル「Particles.h」内に独自のクラスがあり、クラスの実装は「Particles.cpp」内にあります
ファイル「Load.h」にその中のクラスを認識させたいので、次の行を追加しました
#include "Particles.h"
そして、ファイルはそれを認識せず、過去にはすべてがOKでした(私はそのクラス内で変更を加えていません)。
私は何をすべきか?
インクルード パス (#include するファイルを見つけるためにコンパイラがスキャンするディレクトリのリスト) が正しく設定されていないようです。どのコンパイラを使用していますか?
エラーコードをリストアップしていただけると助かります。私の頭の上で、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 ファイルを含めます。
ファイル「Particles.cpp」にも「Particles.h」が含まれていることを確認し、ファイルが同じフォルダーにあり、それらがすべて同じプロジェクトの一部であることを確認してください。コンパイラから表示されるエラー メッセージも共有していただけると助かります。
Dev C++,それは GCC を使用します, 行は次のとおりです:
Stone *stone[48];
そして、「「*」トークンの前にコンストラクタ、デストラクタ、または型変換が必要です」と書かれています。
Stone クラスの定義を含める必要があるように思えますが、詳細がないとなんとも言えません。無関係なコードを削除して投稿することで、エラーを絞り込むことができますか?