我在 main() 中执行此操作:
int i = 2; //not constant expression
int foo[i]; //no error?
根据我的书,这不会给我一个错误。为什么?
(我在铿锵3.1)
我在 main() 中执行此操作:
int i = 2; //not constant expression
int foo[i]; //no error?
根据我的书,这不会给我一个错误。为什么?
(我在铿锵3.1)
在启用严格警告的情况下编译它。
-pedantic
如果你使用 gcc,它会给你一个错误。
大多数编译器通过语言扩展支持可变长度数组 (VLA)。但是,C++ 语言标准不支持将 VLA 作为语言的一部分。
ISO C99 中允许使用可变长度自动数组...有关更多详细信息,请查看http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Variable-Length.html#Variable-Length