【发布时间】:2019-07-19 01:54:20
【问题描述】:
在 C 语言中,不允许在第一个函数语句之后进行声明,但是,当我编译出现此错误的程序时,它仍然可以工作,并且 c++ 会接管。我该如何阻止这种情况发生?
【问题讨论】:
-
如果您指的是所有变量都必须在作用域的开头声明的要求,那么自 C90 以来,C 中就没有这种情况了。
-
自 C99 标准(今年 20 年前发布)以来,您也可以在语句之间进行声明。现在 Visual Studio 几乎支持所有 C99。
-
您是否有理由不想要这种行为。我们生活在 21 世纪。
-
这不是错误。 VS 2017 允许您在任何范围内的任何位置定义变量。 “C++ 接管”是什么意思?
-
您的源文件名应该以 .c 扩展名而不是 .C++ 结尾
标签: c visual-studio visual-studio-2017