title: expected a qualified name after 'typename'
body: <pre><code>template&lt;typename Type&gt; class SingleList;
  
  template&lt;typename Type&gt; class ListNode{
  private:
      friend typename SingleList&lt;Type&gt;;  
      //this line appears"expected a qualified name after 'typename'"
  
      ListNode():nextNode(NULL){}
  
      ListNode(const Type item,ListNode&lt;Type&gt; *next=NULL):nodeData(item),nextNode(next){}
  
      ~ListNode(){
          nextNode=NULL;
  }
  
  public:
          Type GetData();
          friend ostream&amp; operator&lt;&lt; &lt;Type&gt;(ostream&amp; ,ListNode&lt;Type&gt;&amp;);
  
  private:
          Type nodeData;
          ListNode *nextNode;
  };
  </code></pre>
  
  <p>The code:</p>
  
  <pre><code>friend typename SingleList&lt;Type&gt;;  
  </code></pre>
  
  <p>expected a qualified name after 'typename' and how to solve it. Thank you.</p>