C++ C+中的升华文本3错误+;,如何修复它?

C++ C+中的升华文本3错误+;,如何修复它?,c++,C++,我在Sublime Text 3中遇到了一个变量数组问题,即使在使用MinGW64构建系统之后 #include <bits/stdc++.h> using namespace std; int main()

我在Sublime Text 3中遇到了一个变量数组问题,即使在使用MinGW64构建系统之后

#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);                                                                 
}