C2143 C2059与三元运算符的错误

时间:2011-07-22 08:46:06

标签: visual-c++ c-preprocessor ternary-operator

bool xHasReached(double tX, double dstX, bool incX) {
return incX ? tX > (dstX - (double)EPSILON) : tX < (dstX + (double)EPSILON);}

所以我得到C2143(丢失令牌)和C2059(语法错误)错误。我试过没有分号,但仍然报告相同的错误。

我已将错误追踪到EPSILON #define。

1 个答案:

答案 0 :(得分:0)

我敢打赌你有#define EPSILON 0.0001 ;

应该是const double EPSILON = 0.00001;。宏很难调试,它们在使用时往往会导致错误,而不是在定义时。