我只是在讲一些简单的C++概念。我想认为我知道动态数组和静态数组之间的区别。但是当我运行以下代码时:
`
#include <iostream>
using namespace std;
int main()
{
int size;
cout<<"enter size: ";
cin>>size;
int arr[size];
cout<<"enter array values: ";
for(int i=0;i<size;i++)
cin>>arr[i];
for(int i=0;i<size;i++)
cout<<arr[i]<<" ";
return 0;
}
`
它没有给我一个错误。它不应该让我使用用户权限输入的大小创建一个静态数组吗?
最佳答案
您不能。这不是有效的C++。
之所以进行编译,是因为您使用的编译器提供的扩展超出了C++标准。您的编译器会警告您if you had enabled compiler warnings:
-Wall -Wextra -pedantic
关于c++ - 为什么我可以在C++中动态创建静态数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60747223/