華月と申します。
ClassAとClassBがそれぞれ、お互いのクラスのポインタを持っている状態になるプログラムを
作成したところ、ClassBからClassAを認識することが出来ませんでした。
何が行けなかったのでしょうか?
御教授頂けましたら光栄です。
(CClassAのヘッダファイル(簡略化))
#include ClassB.h
class CClassA : public CObject
{
public:
CClassB* m_pClassB;
}
(CClassBのヘッダファイル(簡略化))
#include ClassA.h
class CClassB : public CObject
{
public:
CClassA* m_pClassA;
}
(実際はCDialogで互いのダイアログを参照しています)
---- B ----
class A;
class B {
A* m_pA;
};
---- A ----
class B;
class A {
B* m_pB;
};
>ClassBからClassAを認識することが出来ませんでした。
認識できないとあなたが判断したわけを説明してください。例えばこういうコードで
コンパイラーがこういうエラーを出したとか、こういうリンクエラーが出るとか、
何が起きているのか読み手に分らなければ、的確な判断が出来ないとは思いませんか?
>(実際はCDialogで互いのダイアログを参照しています)
だそうですが、提示した(簡略化したと主張する)ソースの問題点が CObject 派生の
クラス同士の相互参照として説明できるということが本当に確実だとどうやって確認
なさったのでしょうか?
回答ありがとうございました。
επιστημη さんの方法で抜けられました。
どういう動作なのか、調べてみます。
島さん>
質問の形式がいけなかったようですね、以後気をつけさせていただきます。
簡略化に関しては、同プログラムを作成し、動かしてみてコンパイルにて確認しました。
>簡略化に関しては、同プログラムを作成し、動かしてみてコンパイルにて確認しました。
失礼な物言いで申し訳ありませんでした
(一言現象は確認済みですと付け加えていただければ余計な事は言わなかったのですが)