operator<<
次のように、クラステンプレートをオーバーロードしようとしています。
template<int V1,int V2>
class Screen
{
template<int T1,int T2> friend ostream& operator<< (ostream &,Screen<T1,T2>&);
private:
int width;
int length;
public:
Screen():width(V1),length(V2){}
};
template<int T1,int T2>
ostream& operator<< (ostream &os,Screen<T1,T2> &screen)
{
os << screen.width << ' ' << screen.length;
return os;
}
上記のコードはcorrentを実行しています!しかしoperator<<
、関数テンプレートとして設定しないことでオーバーロードする方法があるかどうかを知りたいです:
friend ostream& operator<< (ostream &,Screen<T1,T2>&);
?