//函数声明部分
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<<<>”这部分中的<>不明白代表什么意思?
先谢了。
相关分类