在C ++中初始化数组的长度

时间:2017-10-29 18:10:19

标签: c++

我注意到人们写道:

int array[N];

初始化数组而不指定N的值。我可以问一下N在这里意味着什么吗?是INT_MAX吗?

2 个答案:

答案 0 :(得分:4)

不,它只是在上面某处定义的常数N. const size_t N = 10 要么 #define N 10

答案 1 :(得分:3)

只有三种可能性:

  1. N之前被定义为constexprconst值(包括字面值)。

  2. N以前是一个宏#define - d,可能在某个头文件中

  3. 正在使用非标准C ++编译器扩展,它允许使用非常量值指定可变长度数组。

  4. 要弄清楚是哪种情况,您需要在定义N的任何地方搜索回来。它必须在某处定义,否则将无法编译。