首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译SymbolicC++ -运算符,是不明确的。

编译SymbolicC++ -运算符,是不明确的。
EN

Stack Overflow用户
提问于 2012-03-08 15:05:45
回答 3查看 1.2K关注 0票数 2

我正在尝试在SymbolicC++ 2010 Express中编译VC++库(发行版中有特殊的VS项目),但它在与operator,相关的系统标头中出现了许多错误。例如:

1>C:\Program Files\MicrosoftVisualStudio10.0\VC\include\xlocmon(410):error C2593:'operator,‘是不明确的

对于系统标头中的此代码:

代码语言:javascript
复制
if (_Str[0] < _E0 || _E0 + 9 < _Str[0])
    _Str2 += '-', ++_Off;

为什么?如何编译?

EN

回答 3

Stack Overflow用户

发布于 2012-03-08 15:10:06

当有疑问时,添加括号:

代码语言:javascript
复制
    if (_Str[0] < _E0 || _E0 + 9 < _Str[0])
        (_Str2 += '-'), ++_Off;

或者只需编写适当的C++代码:

代码语言:javascript
复制
    if (_Str[0] < _E0 || _E0 + 9 < _Str[0])
    {
        _Str2 += '-';
        ++_Off;
    }
票数 2
EN

Stack Overflow用户

发布于 2012-03-08 15:11:30

我们不知道他们的operator,在做什么,所以这很可能是无效的,但这是一种奇怪的方法--以下是等价的和不那么奇怪的方法:

代码语言:javascript
复制
    if (_Str[0] < _E0 || _E0 + 9 < _Str[0]) {
        _Str2 += '-';
        ++_Off;
    }
票数 0
EN

Stack Overflow用户

发布于 2012-03-08 15:16:56

在90%的情况下,逗号操作符没有任何意义。解决方案是用钝器击中在头部编写代码的人,然后将其重写为:

代码语言:javascript
复制
if (_Str[0] < _E0 || _E0 + 9 < _Str[0])
{
  _Off++;
  _Str2 += '-';
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9619774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档