您的位置:首页 > 其它

模板类友元函数的写法

2015-11-13 01:15 302 查看
2015/11/13

今天敲稀疏矩阵(template <class T> class SparseMatrix)的时候,发现在函数里面声明的两个友元函数都出错了

报错的内容是:无法解析的外部变量……

// 原代码
friend std::ostream& operator<<(std::ostream& out, const SparseMatrix<T>& sm);
friend std::istream& operator>>(std::istream& in, SparseMatrix<T>& sm);

// 修改后
template <class T> friend std::ostream& operator<<(std::ostream& out, const SparseMatrix<T>& sm);
template <class T> friend std::istream& operator>>(std::istream& in, SparseMatrix<T>& sm);


// 在linux下应该使用
template <class T> class SparseMatrix;   //  声明类
template <class T> std::ostream& operator<<(std::ostream& out, const SparseMatrix<T>& sm);

friend std::ostream& operator<< <T>(std::ostream& out, const SparseMatrix<T>& sm);


参考:http://blog.csdn.net/dongzhongshu/article/details/6200466
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: