1. ホーム
  2. C++

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

2022-02-10 14:28:43
<パス

記事の取得元 https://blog.csdn.net/wcjwdq/article/details/43604679
Copyright © 2011 by original author.


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 に追加されていない場合、エラーが報告されます: 不完全な型へのメンバーアクセス