" not","和"等等...是C ++中的关键字(C中的宏)。有没有办法让#34;启用"他们在Visual Studio 2013中?我可以将这些字词用作包含iso646.h
的宏。但VS似乎无法将它们识别为关键字。
答案 0 :(得分:6)
使用/Za
似乎在不包含iso646.h
,see 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)