如何在 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);
我正在尝试创建一个 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);