How can an element of a container access its container's "owner"?
<p>I have this architecture: (simplified)</p>

<pre><code>class A {
    container&lt;B*&gt; c
}

class B {
    A* owner
}
</code></pre>

<p>These classes are in different header files, and with this architecture I have to include:</p>

<ul>
<li>B.h in A.h</li>
<li>A.h in B.h</li>
</ul>

<p>Aaaand I got circular dependency. I could solve this with forward declaration, but I want to solve the design problem. (if it's possible.)</p>

<p>How could the B-s in A's container access A without forward declaration?</p>

<p>Or is forward declaration the only way?</p>