Circular Typedefs
<p>This code fails to compile:</p>

<pre><code>class B;
class A{
  typedef int AThing;
  typedef B::BThing BThing;
};
class B{
  typedef int BThing;
  typedef A::Athing AThing;
};
</code></pre>

<p>Because <code>A</code> needs a <code>typedef</code> from <code>B</code> and <code>B</code> needs one from <code>A</code>.</p>

<p>What is the typical method for using typedefs that have circular dependancies?</p>