我有在 GNUARM 编译器上编译的代码,但 Visual Studio 2010 出现错误。该问题涉及在 C 语言文件中的第一条语句之后声明变量:
主程序
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i = 6;
i = i + 1;
printf("Value of i is: %d\n", i);
int j = i * 10; // <-- This is what Visual Studio 2010 complains about.
printf("Value of j is: %d\n", j);
return EXIT_SUCCESS;
}
以下代码编译没有错误:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i = 6;
int j; // <-- Declaration is now here, valid according to K&R rules.
i = i + 1;
printf("Value of i is: %d\n", i);
j = i * 10; // <-- Moved declaration of j to above.
printf("Value of j is: %d\n", j);
return EXIT_SUCCESS;
}
我正在使用默认设置来创建 Win32 控制台项目。当我将“编译为”属性设置为“编译为 C++ (/TP)”时,在一些 Visual Studio 头文件中出现编译错误。(右键单击项目,选择Properties → Configuration Properties → C/C++ → Advanced)。
如何告诉 Visual Studio 2010 在第一条语句之后允许变量声明,如 C++ 或当前的 C 语言标准?