Witam
CZy mógłby ktoś poradzić ? problem powstaje na samym końcu przeciążenia wyskakuje komunikat...
invalid initialization of non-const reference of type 'DuzaLiczba&' from an rvalue of type 'DuzaLiczba'
a oto kod :
DuzaLiczba::DuzaLiczba(char *liczba){
wartosc = new char (strlen(liczba)+1);
strcpy(wartosc,liczba);
}
DuzaLiczba & DuzaLiczba::operator + (const DuzaLiczba &x){
int lenX,lenY,mx,mn,w,przen;
przen=0;
lenX = strlen(x.wartosc);
lenY = strlen(this->wartosc);
mx = max(lenX,lenY);
mn = min(lenX,lenY);
char *wynik;
wynik = new char(mx);
for(int i = mx-1;i>=0;i--){
if(lenX>=lenY){
if(mn){
mn--;
w=(int)x.wartosc[i]+(int)this->wartosc[mn]-96+przen;
wynik[i]=w%10;
przen=w/10;
}
else {
w=(int)x.wartosc[i]-48+przen;
wynik[i]=w%10;
przen=w/10;
}
}
else
if(mn)
{
mn--;
w = (int)this->wartosc[i]+(int)x.wartosc[mn]-96+przen;
wynik[i]=w%10;
przen=w/10;
}
else
{
w=(int)this->wartosc[i]-48+przen;
wynik[i]=w%10;
przen=w/10;
}
}
if(przen) return DuzaLiczba('1'+wynik);
else return DuzaLiczba(wynik);
}