title: Recursive template
body: <p>Is it possible to write template definition for this data type?</p>
  
  <pre><code>myclass&lt;int, myclass&lt;int&gt; &gt; data;
  </code></pre>
  
  <p>Second template variable should be optional with default value of the same type.</p>
  
  <p><strong>Clarification</strong></p>
  
  <p>Now I use this definition:</p>
  
  <pre><code>class defaultClass { };
  template &lt;typename T, typename C=defaultClass&gt;
  class myclass { ... };
  </code></pre>
  
  <p>I'd like to predefine that <code>defaultClass</code> is <code>myclass&lt;T&gt;</code></p>
  
  <p>I'd like to implement something like auto implemented properties: the second parameter should be context in which the wrapped variable is defined. If the context is ommited, it should be in the object created by the template class itself. (I realize it could be solved another way, this is just use case.)</p>