안녕하세요 템플릿 타입<E> 선언 후 E타입 클래스(C)를 만들고 그 멤버 변수로 E타입 data가 있습니다.


이때 헤더파일에서 cout<< C.data 하면은 

C2679 이항 '<<': 오른쪽 피연산자로 'const E' 형식을 사용하는 연산자가 없거나 허용되는 변환이 없습니다.


이런 오류가 뜹니다.



template<typename E> friend ostream& operator<<(ostream& os, const Node<E>& N) {

os << N.data;

return os;

} 이런식으로 클래스 내부에서 <<를 오버로딩 해도 



C2995 'std::ostream &operator <<(std::ostream &,const Node<E> &)': 함수 템플릿이 이미 정의되었습니다.


이런 오류가 뜹니다.. 어떻게 해야 하나요??