我遇到了有关运营商的问题。
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&'没有已知转换”
有人有什么建议吗?