Boost logo

Boost Users :

From: Arkadiy Vertleyb (vertleyb_at_[hidden])
Date: 2006-10-16 12:53:19


"YYW" <yyw1_25_at_[hidden]> wrote

> why the codes below is wrong in g++ 3.4.2?
> an error occurs in the line: cout<<CMatrix<double>::eye(5);
> --------------------------------------
> #include <ostream>
> #include <boost/numeric/ublas/matrix.hpp>
> #include <boost/numeric/ublas/io.hpp>
>
> using namespace boost::numeric::ublas;
> using namespace std;
>
> template <class T>
> class CMatrix
> {
> matrix<T>mat_;
>
> public:
> CMatrix(const identity_matrix<T>& m) { mat_ = m; }
> static CMatrix<T> eye(int size) { return identity_matrix<T>(size); }
>
> template <class T_>
> friend ostream& operator << (ostream& os, CMatrix<T_>& m);
> };
>
> template<class T_>
> ostream& operator << (ostream& os, CMatrix<T_>& m)

Try this:

ostream& operator << (ostream& os, const CMatrix<T_>& m)

Regards,
Arkadiy


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net