0

以下行不起作用:

int n1=10,v1=10;  
int f[n1][v1]={};
error: variable-sized object ‘f’ may not be initialized

但是下面的行有效,为什么?

const int n1=10,v1=10;  
int f[n1][v1]={};
4

2 回答 2

2

数组初始值设定项必须是 const。

int 值可以更改,而 const int 值将在整个程序中保持不变。

于 2013-05-08T21:23:19.487 回答
0

在第二个示例中,n1并且v1已知是编译时常量。在第一个示例中,它们可能不是。

于 2013-05-08T21:23:03.437 回答