title: Class property includes instance of a template class (error C3857)
body: <p>I am implementing a binary tree class that is almost identical to <a href="http://www.cprogramming.com/tutorial/lesson18.html" rel="nofollow noreferrer">this one</a>. However, in my task, the <code>node</code> struct must be a templated structure. Therefore I changed <code>struct node</code> to:</p>
  <pre><code>template &lt;typename T&gt;
  class node {
  public:
      T data;
      node&lt;T&gt; *left, *right;
  }
  </code></pre>
  <p>so far so good, until I added a <code>node</code> instance to <code>btree</code> as a member variable:</p>
  <pre><code>class btree {
      // ......
  private:
      template &lt;typename T&gt;
      node&lt;T&gt; *root = NULL; // error
  }
  </code></pre>
  <p>error message says</p>
  <blockquote>
  <p>C3857: multiple template parameter lists are not allowed.</p>
  </blockquote>
  <p>I tried to move <code>root = NULL</code> to <code>btree</code>'s default constructor, does not work either.</p>