错误C2131:在VC 2017中,表达式的计算结果不为常量

时间:2018-11-12 00:30:25

标签: c++ visual-studio-2017 dev-c++

char filename[256];
scanf("%s", filename);
FILE *file = fopen(filename, "r");

int M, N, C, i, j, P, G;

fscanf(file, "%d", &M); 
fscanf(file, "%d", &N); 
fscanf(file, "%d", &C);

int xv[M + 1], yv[M + 1], h[M + 1]; // line 21

for (i = 1; i <= M; i++) {
    fscanf(file, "%d", &xv[i]);
    fscanf(file, "%d", &yv[i]);
    fscanf(file, "%d", &h[i]);
}

Compiler VC 2017返回错误:

  

错误C2131:表达式的计算结果不为常量

     

注意:由于变量寿命之外的读取而导致的错误

     

注意:请参阅“%*”的使用

为什么此错误出现在VS 2017中,当我使用Dev-C ++ IDE时,它没有给出错误,并且可以正确执行?

0 个答案:

没有答案