|
구문 오류를 찾을 수 없네요.
프로젝트 옵션에서 Floating Point 관련 옵션을 꺼놓은게 아닌지 확인해보세요.
C++빌더 2006 에서 컴파일 해보니까 정상적으로 컴파일되고 동작도 되는군요.
왕초보 님이 쓰신 글 :
: C++builder 2009 , win8 64bit
:
: ---------------------------------------------------
:
:
: double x = -3.5;
:
: if(x > -2.0 ) // error Invalid floating point operation ,
: {
: ShowMessage("x > -2.0");
: }
: else if (x <= -2.0 || x > -3.0 )
: {
: ShowMessage("test x <= -2.0 || x > -3.0");
: }
: else if (x >= -3.0)
: {
: ShowMessage("x >= -3.0");
: }
:
:
: 어떻게 수정해야 되나요.
:
: -----------------------------------------------------------------
: #include <math.h >
: #define EPSILON 0.00001
:
: 아래 함수를 이용해 봤는데 메시지가 같이 나서 어디 부분이 문제인지 알 수가 없습니다.
: bool AreSame(double a, double b)
: {
: return fabs(a - b) < EPSILON; // Invalid floating point operation
: }
: //---------------------------------------------------------------------------
: bool CompareDoubles2 (double A, double B)
: {
: double diff = A - B; // Invalid floating point operation
: return (diff < EPSILON) && (-diff < EPSILON);
: }
:
|