1. ホーム

不完全な型へのエラーメンバーアクセス

2022-02-10 07:35:45

c++で、demoA.h, demoA.cpp, demoB.h, demoB.cpp の4つのファイルがあります。

demoA.hにはクラスdemoAがあり、demoB.hにはクラスdemoBがあります。

もしクラスdemoAがクラスdemoBを使用し、クラスdemoBがクラスdemoAを使用するのであれば、以下のようにする必要があります。

1. demoAクラスのcppファイルに、demoBクラスのヘッダーファイルのパスをインクルードする。

2. クラスdemoBのhファイルにクラスdemoAを追加し、クラスdemoBのcppファイルにもクラスdemoAのヘッダーファイルパスを追加します。

を次のようにします。

// demoA.h
class demoA
{
	demoB * b;
};

// demoA.cpp
#include "demoB.h"


// demoB.h
class demoA;
class demoB
{
	demoA * parent;
};

// demoB.cpp
#include "demoA.h"

それでいいんです。

demoA.h が demoB.cpp に追加されていない場合、エラーが報告されます: 不完全な型へのメンバーアクセス