如何在C++中创建一个“n”大小的数组?

我正在尝试创建一个大小为 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

回答

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

使用std::vector来代替:

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


以上是如何在C++中创建一个“n”大小的数组?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>