我做了这个非常简单的程序:
int a;
scanf("%i", &a);
int tab[a];
当我在DevC ++中编译时,还有其余的程序工作正常。但是当我使用它时:
int a;
scanf_s("%i", &a);
int tab[a];
在Visual Studio 2015中出现错误。我不知道这有什么不对。
答案 0 :(得分:1)
可变长度数组(VLA)是C99标准的一部分,但不是C ++ 11 / C ++ 14标准的一部分,因此它们不是由Visual C ++编译器实现的。作为" C"编译器,Visual C ++是C90,符合C11标准库中C ++ 11引用所需的部分。
请注意,此问题的核心已经回答here