title: template class constructor syntax
body: <p>I am working on <a href="https://rads.stackoverflow.com/amzn/click/com/0132908425" rel="nofollow noreferrer" rel="nofollow noreferrer">Michael Laszlo's book on computational geometry</a> and have become confused with an unsual kind of template class constructors syntax he has used.</p>
  
  <p><strong>1st code</strong></p>
  
  <pre><code>template&lt;class T&gt; class ListNode :public Node{
  public:
      T _val;
      ListNode(T val);
      friend class List&lt;T&gt;;
  };
  
  template class&lt;T&gt; ListNode::ListNode(T val)  : // shouldn't this be template &lt;class T&gt; ListNode &lt;T&gt;::ListNode(T val)
     _val(val)
  {
  }
  </code></pre>
  
  <p><strong>Question</strong></p>
  
  <p>Shouldn't the syntax be <code>ListNode &lt;T&gt;::ListNode(T val)</code>  instead of <code>ListNode ::ListNode(T val)</code> ?</p>