在运行时允许数组大小而不进行动态分配吗?
我已经使用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或malloc如何在运行时确定大小? 只是仔细检查一下,我已经在Google上搜索了一些和所有与我类似的代码,声称它们会导致存储大小错误。 甚至Deitel的C ++如何编程p。常见编程错误4.5下的261个状态: 仅常量可用于声明自动和静态数组的大小。 开导我