【发布时间】:2020-10-02 20:25:43
【问题描述】:
我以为 C 对我没有更多的惊喜,但这让我感到惊讶。
const int NUM_FOO = 5;
....
int foo[NUM_FOO];
==>error C2057: expected constant expression
我的 C++ 经验使我在内部尽可能地弃用 #define。所以这个真的是一个惊喜。 VS2019,用/TC编译。我认为 C99 无论如何都允许可变大小的数组。
谁能解释为什么会发生拒绝,因为编译器在编译时肯定知道数组的大小?
C99不是允许变长数组吗?
【问题讨论】:
标签: c constants visual-studio-2019 c99 variable-length-array