标签: c++ arrays compilation
据我所知,c ++编译器不允许你使用变量初始化一个数组,但是这个程序在我的计算机上编译并运行,为什么会这样?
// this should not compile because there is a variable in the array declaration #include <iostream> int main(){ int x = 5; int ar[x]; printf("hello world\n"); }
答案 0 :(得分:3)
在C ++中,可变长度数组不合法。 G ++允许这样做 “扩展”(因为C允许),所以在G ++中你可以这样做。
进一步检查此answer / answer。
答案 1 :(得分:-3)
数组的大小可能不是变量。