运算符溢出有两种类型

时间:2017-02-02 10:58:27

标签: overflow operator-keyword

我遇到了有关运营商的问题。

class Fraction{
public:

    Bruch(int z = 0, int n = 1);
    void operator*(Fraction &b);
    void calculate(char operation, Fraction &b);

private:
}

void Fraction::calculate(char operation, Fraction &b) {
    switch(operation) {
    case '*': operator*(b); break;
} 

Fraction::Fraction(int z, int n){                                       
    zaehler = z;
    nenner = n;
}

void Fraction::operator*(Fraction &b){
    zaehler = zaehler * b.zaehler;
    nenner = nenner * b.nenner;
}

int main(){

Fraction a(7, 5);
lont int b = 3.0;

Fraction d = a*b;
}

我希望能够将operator *不仅用于Fraction类的两个成员,而且还能使用long int类型的成员。

错误:“参数2从'long int'到'Fraction&'没有已知转换”

有人有什么建议吗?

0 个答案:

没有答案