当我运行我的程序时,它只是询问大小并终止。这个逻辑有什么问题吗?
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
cout << "Enter size of array\n";
int x;
cin >> x;
int a [x];
ifstream data ("numbers.txt");
if(data.is_open()){
cout << "Enter the elements\n";
for(int i = 0 ; i<x ; i++){
data >> a[i];
}
for(int j = 0 ; j<x ; j++){
cout << a[j];
}
}
}
答案 0 :(得分:-1)
您不能像尝试那样创建静态数组:
int a [x];
相反,您需要动态分配内存:
int *a = new int[x];
在退出之前正确释放它:
delete [] a;