Mam problem z przeciążeniem operatora << i >>. Zrobiłam to w następujący sposób:
#include <iostream>
#include <cmath>
#include "t.h"
#include <cstdlib>
#include <cfloat>
class Macierz
{
private:
unsigned int _m;
unsigned int _n;
float ** _A;
public:
Macierz(unsigned int n, unsigned int m);
Macierz operator+(Macierz & M1);
Macierz operator-(Macierz & M1);
friend ostream & operator <<(ostream & ostrm, Macierz& wy);
friend istream & operator >> (istream & istrm, Macierz& we);
void Wczytaj();
void Wypisz();
void ZmienZnak();
};
ostream &operator << (ostream & ostrm, const Macierz& wy)
{
for(unsigned int i = 0 ; i < wy._n ; i++) {
for(unsigned int j = 0; j < wy._m; j++)
ostrm << wy._A[i][j] << " " ;
ostrm << endl;
}
return ostrm;
}
istream &operator >> (istream & istrm, const Macierz& we)
{
for(unsigned int i = 0 ; i < we._m ; i++)
for(unsigned int j = 0; j <we._n;j++)
istrm >> we._A[i][j];
return istrm;
}
Po kompilacji wyrzuca dużo błędów związanych z tym kawałkiem kodu. Wg mnie wszystko jest napisane poprawnie i nie wiem na czym mogą polegać te błędy.
Proszę o jakąkolwiek pomoc;)