Ah で定義された構造体を、メソッドのパラメーターとしても、Bh の別の構造体へのデータ要素としても使用する必要があります (StructB で StructA へのポインターを使用することはできません。ポインターが指すデータが最終的に変更されるためです。元のデータを StructB のローカル コピーに保存する必要があります。)
あ:
struct StructA {
...
}
Bh
#include "A.h"
struct StructA;
class B {
method foo (StructA &structA);
struct StructB {
...
StructA structA
}
Ah を Bh に含めることで、StructA の宣言を Bh で使用できるようになりませんか? ただし、コンパイラは「フィールド structA の型が不完全です」と不平を言います。
StructA を前方宣言しないと、コンパイラは、StructA がメソッド foo で宣言されていないと不平を言います。したがって、明らかに、宣言は Bh では使用できません。
ここで何か基本的なことが欠けていますが、それを理解することができず、気が狂ってしまいます! 助けてください!