title: Forward declaring a typedef for a template class
body: <p>I know a typedef cannot be forward declared in C++, but I wonder what may be the best solution for the following problem. I have a header file which declares <code>MyClass</code> like this:</p>
  
  <pre><code>#include &lt;TemplateClassHeaders&gt;
  
  struct MyStruct
  {
      // ...
  }
  
  typedef Really::Long::TemplateClassName&lt;MyStruct&gt; MyClass;
  </code></pre>
  
  <p><code>MyClass</code> is used in many places, but mostly just as a pointer being passed through Qt signal-slot mechanism. A forward declaration would be all that's needed, but since <code>MyClass</code> is a typedef that will not work. Is there a way to avoid adding myclass.h to every header which uses a pointer to <code>MyClass</code>?</p>