C2143 C2059 三元运算符错误
bool xHasReached(double tX, double dstX, bool incX) {
return incX ? tX > (dstX - (double)EPSILON) : tX < (dstX + (double)EPSILON);}
所以我收到 C2143(缺少标记)和 C2059(语法错误)错误。我尝试过不使用分号,但仍然报告相同的错误。
我已将该错误追溯到 EPSILON #define。
bool xHasReached(double tX, double dstX, bool incX) {
return incX ? tX > (dstX - (double)EPSILON) : tX < (dstX + (double)EPSILON);}
So I am getting C2143 (missing token) and C2059 (syntax error) errors. I've tried without the semicolon but is still reports the same errors.
I've tracked the bug down to EPSILON #define.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我敢打赌你有
#define EPSILON 0.0001 ;
。那应该是
const double EPSILON = 0.00001;
。宏更难调试,它们在使用时而不是在定义时往往会导致错误。I'll bet you have
#define EPSILON 0.0001 ;
.That should have been
const double EPSILON = 0.00001;
. Macro's are harder to debug, they tend to cause errors when used rather then when defined.