Kod: Zaznacz cały
class bignum {
private:
//tu sa rózne składnki
public:
bignum();
~bignum();
bignum(double dbl);
bignum(long lng);
bignum(bignum&);
operator double();
operator long();
//******************* operatory do dzialan arytmetycznych
friend bignum operator+ (bignum& lft, bignum& rgh);
friend bignum operator+ ( bignum& lft, long rgh);
friend bignum operator+ ( bignum& lft, double& rgh);
bignum& operator+=(bignum& rgh);
bignum& operator+=( long rgh);
bignum& operator+=(double& rgh);
//podobnie jest dla odejmowania, mnożenia i dzielenia
bignum& operator= ( long rgh);
bignum& operator= (double rgh);
bignum& operator= (bignum& rgh);
friend bignum ToBignum ( long liczba);
friend bignum ToBignum (double& liczba, int prec=32);
//pozostałe metody
};
Gdy w innym miejscu programu chę sobie zrobić
ob_bignum1 = ob_bignum2 + ob_bignum3;
wyskakuje błąd że operator przypisania jest niejednoznaczny
ma to związek z operatorem rzutowania double() i long() (po ich dodaniu wyskoczyły te błędy).
Czy mógłby ktoś mi powiedzieć czemu tak sie dzieje??
Z góry dziękuje