我正在研究一個問題,它要求創建一個類Rational
,其變量爲分子和分母,以及添加兩個有理數的函數。在使用%運算符時出現雙精度錯誤
這是我創建的類:
class Rational
{
public:
// n stands for numerator and d stands for denominator
double n,d;
// add stands for addition
void add(Rational r1, Rational r2);
};
這是我的函數:
error: invalid operands of types 'double' and 'double' to binary 'operator%'|
我:
void Rational::add(Rational r1, Rational r2)
{
// ar stands for rational number after addition
double ar;
// new object which takes the value after addition
Rational r3;
// formula for numerator after addition
r3.n=(r1.n*r2.d)+(r2.n*r1.d);
// formula for denominator after addition
r3.d=(r1.d*r2.d);
// ratio equals divisor plus quotient multiplied to remainder
ar=(r3.n/r3.d)+((r3.n)%(r3.d))*r3.d;
}
最後一行在編譯過程中生成以下錯誤新的CPP和這個我的功課...請幫助...
你真的不需要所有的代碼來證明你遇到的問題。 [見此](http://ideone.com/YdNM6q)。 – PaulMcKenzie
@PaulMcKenzie:上下文很重要。您嘗試的最小示範未能包含最重要的方面。 –
請說明該作業是否需要您使用'double',或者這是您的決定。通常「有理數」是指分子和分母都是整數。 –