私のコードはここに浮動小数点例外を投げていますが、私はその理由を理解できません。一見無理由の浮動小数点例外
int i = this -> numerator;
while(i > 1){
if ((this -> numerator % i == 0) && (this -> denominator % i == 0)) {
this -> numerator = this -> numerator/i;
this -> denominator = this -> denominator/i;
}
i = i - 1;
}
目的は分数を簡略化することです。あなたが見ることができるように、物事はiとi> 1によってmodを得るだけです。分裂についても同じことが起こります。不思議なことに、たとえwhileループ内でコードをコメントアウトしても、エラーを投げつけてしまいますが、whileループを完全に取り除くとコードは正常に動作します。 forループを代わりに使用しようとしたときも同じことが起こりました。私は何が欠けていますか?私は、whileループ内のコードをコメントアウトしても、それはエラーを投げ続ける不思議な
これらのすべてを削除してください。彼らは無意味で気を散らす。 –
ループ入口にはどのくらいの大きさがあり、 '* this'の値は?その点で、分子と分母の種類は何ですか? – davidbak
動作しない完全なコード例を表示します。 –