如何在 C++ 中创建 'n' 大小的数组?

how to create an 'n' sized array in c++?

我正在尝试创建一个 n 大小的数组,但每次我尝试这样做时都会收到一条错误消息:

expression must have a constant value -- the value of variable "n" (declared at line 33) cannot be 
used as a constant

我以前是这样工作的,但那是在代码块上。这次手动下载了mingw,一直工作在VSCode。 我的所有其他代码都可以正常工作,但似乎无法为此找到解决方案。

int main()
{
    int n;
    cin >> n;
    int arr[n];
    for (int i = 0; i < n; i++)
    {
        cin >> arr[i];
    }
    for (int i = 0; i < n; i++)
    {
        cout << arr[i];
    }
}

Mingw 的基本设置

我的 gcc 版本是:

gcc.exe (MinGW.org GCC Build-2) 9.2.0

您可以使用堆/动态数组创建长度为 n 的数组。 像: int arr=新数组(n)

int arr[n]; 是无效的 C++ 运行时 n,它使用 VLA 扩展。

改用std::vector

int n;
std::cin >> n;
std::vector<int> arr(n);