I believe declaring class B public A {...} or vice versa should work. -----Original Message----- From: redhat-devel-list-admin@redhat.com [mailto:redhat-devel-list-admin@redhat.com] On Behalf Of Thomas Dodd Sent: Monday, February 24, 2003 11:21 AM To: psyche-list@redhat.com; redhat-devel-list@redhat.com; mozilla-builds@mozilla.org Subject: C++ I had a question for a C++ programmer. Thought I might find one here :) I have 2 classes that need to reference each other. "headerA.h" class A{ public: int x; int y; B *left; B *right; } "headerB.h" class B{ public: int a; int b; A *parent; char foo(); } Give that top is of type A, in top.left.foo() I need to modify top.right.a Any ideas? I've tried passing a A* in the constructor for B, but the compiler doesn't realize that A is a class when I try to compile, and complains about no type listed. I seams to be a circular reference since A needs B and B needs A. This cannot be that unusual, and has probably been solved before, I just don't know how. Right now moy only though is to make parent a void* and the cast it to a A* in the implementation of B. That removes all type checking though and I'd rather not abuse void pointers like that. -Thomas _______________________________________________ Redhat-devel-list mailing list Redhat-devel-list@redhat.com https://listman.redhat.com/mailman/listinfo/redhat-devel-list _______________________________________________ Redhat-devel-list mailing list Redhat-devel-list@redhat.com https://listman.redhat.com/mailman/listinfo/redhat-devel-list