如何使用实数创建动态数组?
我知道带有整数的动态数组的语法,但是当我尝试创建一个存储双精度值的动态数组时,它给了我一条错误消息。( error: expression in new-declarator must have integral or enumeration type
)
ifstream f("date.in");
ofstream g("date.out");
double n;
f >> n;
double* v = new double[n];
for(int i=0; i<n; i++)
f >> v[i];
我通常做
int n;
f >> n;
int* v = new int[n];
它有效。
回答
正如错误信息所暗示的,double n;
不能用作元素数,必须是整数。应该是int n;
。