重载函数模板做类模版的友员出错
//model1.h#include <iostream>// 声明部分template <class Type>class QueueItem;template <class Type>std::ostream &operator<<(std::ostream,QueueItem<Type>&);//////////////////////////////////////////////////////////template <class Type>class QueueItem{ friend std::ostream& operator<<(std::ostream&,QueueItem<Type>&);public: QueueItem(const Type &t) :item(t) { next=0; }private: Type item; QueueItem *next;};//model1.cpp#include <iostream>#include "model1.h"template <class Type>std::ostream& operator<<(std::ostream &os,QueueItem<Type> qi){ os<<"自定义COUT"<<std::endl; os<<qi.item; return os;}#include <iostream>#include "model1.h"int main(){ QueueItem<int> qi(3); //std::cout<<qi;//如果加了这句就会出错为什么? system("pause"); return 0;}