猿问

c++ 输出单链表元素

//函数声明部分

friend ostream& operator<<<>(ostream&,SinglyList<T>&);    //输出单链表所有元素

//函数定义

template <class T>
ostream& operator<<<>(ostream &out,SinglyList<T> &list)
{
  out<<"(";
  for(Node<T> *next=list.head->next; next != NULL; next = next->next)
    {
      out<<next->data;
      if(next->next != NULL)
    out<<",";
    }
  out<<")\n";
  return out;
}

g++ 编译时报错:

SinglyList.h:64:55: 错误:模板标识符‘operator<< <>’出现在基本模板的声明中
 ostream& operator<<<>(ostream &out,SinglyList<T> &list)

SinglyList.h:20:19: 错误:‘std::ostream& operator<<(std::ostream&, SinglyList<Computer>&)’的模板标识符‘operator<< <>’不匹配任何模板声明
   friend ostream& operator<<<>(ostream&,SinglyList<T>&);    //输出单链表所有元素

 

这是我在书上看到的代码,在我的环境中编译报错。

首先对于“operator<<<>”这部分中的<>不明白代表什么意思?

先谢了。


潇湘沐
浏览 799回答 1
1回答
随时随地看视频慕课网APP
我要回答