여기에 부동 소수점 예외가 발생했습니다. 이유는 알 수 없습니다.겉으로보기에 아무 이유없이 부동 소수점 예외가 발생했습니다.
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 ->'를 제거하십시오. 그것들은 무의미하고 혼란 스럽습니다. –
루프 입구에서 'i'의 크기는 얼마이며 '* this'의 값은 무엇입니까? 그렇다면 '분자'와 '분모'의 유형은 무엇입니까? – davidbak
작동하지 않는 전체 코드 예제를 보여줍니다. –