Visual Studio 2013中的备用标记(不是,等等)

时间:2014-09-24 03:27:28

标签: c++ visual-studio-2013

" not","和"等等...是C ++中的关键字(C中的宏)。有没有办法让#34;启用"他们在Visual Studio 2013中?我可以将这些字词用作包含iso646.h的宏。但VS似乎无法将它们识别为关键字。

3 个答案:

答案 0 :(得分:6)

使用/Za似乎在不包含iso646.hsee it live的情况下启用它们,以下程序在不使用/Za的情况下产生错误,但其他方式正常:

int main()
{
    int x = 1, y = 0 ;
    if (x and y)    
    {
    //...  
    }

    return 0;
}

由于ta.speot.is表示/Za停用了附加信息,因此以下documentation表示您必须包含ios646.h

  

在/ Ze下,如果要使用以下运算符的文本形式,则必须包含iso646.h:

它列出了下面的替代标记。

注意,我知道我之前看过这个,我在bug report for this中添加了my answer的链接到类似的问题。虽然这不包括上面提到的解决方法。

注2:干杯和hth。 - Alf表示关闭扩展可能会产生许多不良后果,因此您可能最好只包括iso646.h

答案 1 :(得分:3)

使用iso646.h标题的forced include (option /FI)

对于命令解释程序中的工作,您可以将其放在CL环境变量中,例如在响应文件中。


使用/Za关闭Visual C ++语言扩展也可以解决问题,但代价是将编译器非常 无用 - 因为Microsoft代码如此因为Windows API标头通常使用扩展名。

答案 2 :(得分:1)

在VS的更新版本上(在15.7.0版预览版3.0上测试);确保为visual studio设置了一致性模式: enter image description here

然后用alternative operator representations编译。