#include<stdio.h>
int main()
{
int row, col;
printf("Enter rows and columns for your grid");
scanf_s(" %i%i", &row, &col);
int Array[row][col];
return 0;
}
这是我的编程讲师给我们的例子,但我无法让它工作。我的编译器(Visual Studio 2015)一直给我错误C2131“表达式没有评估为常量”是否有任何方法可以使这个工作?
答案 0 :(得分:1)
VLA是C99功能,而MSVC支持C89。根据{{3}}:
Visual C ++目前不支持可变长度数组。
答案 1 :(得分:0)
您必须使用malloc
int **Array;
Array = malloc(sizeof(int*)*row);
for(int i=0;i<row;i++)
Array[i] = malloc(sizeof(int)*col);