[英]Microsoft C/C++ compiler switch needed for local variable declaration placement
我正在使用Microsoft C / C ++编译一些C文件,并且抱怨在块内声明局部变量。 当然,在块的开头声明它们是可以的。 我可以使用哪种编译器开关来抑制出现的错误?
非常感激,
克里斯
在C89和更早版本中,所有块范围变量声明必须在任何语句之前。 C99更改了此规则,因此可以像在C ++中那样将声明和语句混合在一起。
不幸的是,Microsoft选择了不支持Visual Studio中的C99,并且没有AFAIK的计划。
CL.exe /Tpfilename
它的意思是“不管扩展名都是C ++编译”。
或者,换句话说,您的操作在C语言中是非法的,因此当然会抱怨。 将其更改为C ++或强制将其读取为C ++。
您可以使用/ TP强制编译器将它们编译为C ++文件。 但是,我不确定这是否是您想要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.