我已经使用 C++ 几年了,今天我看到了一些代码,但这怎么可能是完全合法的呢?
int main(int argc, char **argv)
{
size_t size;
cin >> size;
int array[size];
for(size_t i = 0; i < size; i++)
{
array[i] = i;
cout << i << endl;
}
return 0;
}
在 GCC 下编译。
new
如果没有or ,如何在运行时确定大小malloc
?
只是为了仔细检查,我已经用谷歌搜索了一些和我的所有类似代码都声称会给出存储大小错误。
甚至 Deitel 的 C++ 如何编程 p。常见编程错误 4.5 下的 261 个状态:
只有常量可以用来声明自动和静态数组的大小。
照亮我。