C++ C+中的升华文本3错误+;,如何修复它?
我在Sublime Text 3中遇到了一个变量数组问题,即使在使用MinGW64构建系统之后C++ C+中的升华文本3错误+;,如何修复它?,c++,C++,我在Sublime Text 3中遇到了一个变量数组问题,即使在使用MinGW64构建系统之后 #include <bits/stdc++.h> using namespace std; int main()
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<(a+b)<<endl;
int n;
int arr[n];
for(int i=0;i<n;i++)
{
cin >> arr[i];
}
for(int i=0;i<n;i++)
{
cout<<arr[i]<<endl;
}
cout<<"hello";
return(0);
}
#包括
使用名称空间std;
int main()
{
INTA,b;
cin>>a>>b;
cout您没有提供'n'的值,这是一些垃圾值,可能是您想要的
使用定义宏
#define N 10 //say
然后您可以使用它来创建大小为N的数组
int arr[N];
<>代码> ISO C++禁止可变长度数组'ARR '/COD>讲述整个故事。在C++中,数组的大小需要在编译时知道,因为它们是静态分配的,而现在,你要在运行时设置数组的大小,因为你从代码< n>代码>中获得数组的大小,这是一个变量。e Mahendra suthar指出n
未初始化的另一个问题,但我假设您希望数组的大小在运行时根据a
和b
进行更改,因此您需要使用或使用:
#包括
#包括
使用名称空间std;
int main()
{
INTA,b;
cin>>a>>b;
请注意添加更多的细节并添加错误代码和源代码以提高可读性。谢谢。我已经删除了崇高的标签,因为您的问题与您的代码有关,而不是升华文本。我会指出,它看起来像您的代码(当您得到它的工作)可能正在尝试以交互方式从用户处读取输入。这在Sublime中不起作用,因为您无法与正在运行的程序交互。您没有提供“n”的值,这是一个垃圾值,请修复它,然后重试。@rayryng我同意编译器完全能够执行您所描述的操作,有些编译器实现了此功能,但是这里的问题是,ISO C++标准不支持这种行为,编译器输出描述了N的运行时间声明是问题。<代码> const int n=10;< /C>是C++方式。+ 1,尽管宏。
#include <bits/stdc++.h>
#include <vector>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<(a+b)<<endl;
int n;
std::vector<int> arr;
for(int i=0;i<n;i++)
{
int temp;
cin >> temp;
arr.push_back(temp);
}
for(int i=0;i<n;i++)
{
cout<<arr[i]<<endl;
}
cout<<"hello";
return(0);
}