C ++プログラムの一部としてクラスを作成する際に問題が発生しています.FirstClass、SecondClass、ThirdClassの3つのクラスがあります.FirstClassとSecondClassの両方にThirdClass.hが含まれており、SecondClassでは正常に宣言できますが、 、FirstClassでは最初の宣言は正常に機能しますが、それ以降の宣言では「ThirdClassは型名ではありません」というエラーが表示されます
これは、エラーが発生しているクラスのスニペットです
#include "ThirdClass.h"
class FirstClass
{
public:
FirstClass(void);
// This decleration of ThirdClass works fine
FirstClass(ThirdClass ());
FirstClass(const FirstClass& rhs);
~FirstClass(void);
private:
//These are the two that're erroring
ThirdClass nestedClass();
void Init (ThirdClass ());
void Copy (FirstClass);
};
両方が同じヘッダーファイルにリンクしていることに関係していると思いますが、オンラインで解決策を見つけようとして広く探していましたが、役に立ちませんでした。インクルードを名前空間内に配置することでなんとか機能させることができましたが、これは非常に悪い習慣であると読んだので、実際にはそのようにしたくありません。