【发布时间】:2011-07-09 13:02:21
【问题描述】:
当你初始化一个可变大小的数组时,只要变量是 const,GCC 就不会出错,但如果不是,它就不会编译。
这背后的原因是什么?这样做有什么问题:
int size = 7;
int test[size] = {3, 4, 5};
这根本不会编译,但如果我不初始化 test[] 那么它会编译!这对我来说没有任何意义,因为据我所知,无论如何都需要根据它的大小(7 个整数)制作一个堆栈帧来适应这个数组(这意味着我使用的整数文字并不真正有任何意义,如果我没记错的话),那么如果我初始化它有什么区别呢?
我的另一个疯狂的 C++ 设计问题...
谢谢!
【问题讨论】:
标签: c++ arrays initialization