如何在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);