title: Default parameters of struct templates
body: <p>I have a template struct tree_parse_info declared as follows:</p>
  
  <pre><code>template &lt;
      typename IteratorT,
      typename NodeFactoryT,
      typename T
  &gt;
  struct tree_parse_info 
  {
    // ...
  };
  </code></pre>
  
  <p>The compiler allows the follows code:</p>
  
  <pre><code>tree_parse_info&lt;&gt; m_info;
  </code></pre>
  
  <p>Why does this code compile even though we do not have default template parameters for the template struct tree_parse_info ?</p>