Niewiem jak zrobic zeby zmienne zadeklarowane w klasie byly widziane w
operator +
Zrobilem to na takich zmiennych globalnych:
typedef vector < vector<int> >tab;
vector <int> lwiersz; //dl wiersza
int lkol=-1; //ilosc wierszy. Musi byc -1 bo wczytuje mi jakos o 1 wiersz za duzo jakis smieci (np same 5)
vector <int> tmp;
To zliczanie dl wiersza i ilosc wierszy dziala poprawnie i chcialem go wykorzystac do operatora +. Oczywiscie przed zliczaniem ilosci wierszy robie
lwiersz.clear()
Zeby niedodawal do kolejnej wczytanej macierzy.
Napisalem cos takiego. Kompiluje sie jednak podczas uruchomienia wyskakuje segmentation fault. Jak zrobic zwracanie przez referencje
Macierz operator+ (const Macierz & s)
{
vector < vector <int> > tab_new;
int temp_new;
int x,y;
for (x=0; x<lkol; x++)
{
temp_new=0;
for (y=0; y<lwiersz.size(); y++)
{
temp_new = tab[x][y] + s.tab[x][y];
tmp.push_back(temp_new);
}
tab.push_back(tmp);
tmp.clear();
}
}