void load(int *n, double *x, double **arr, bool randomize)
{
*arr = (double*)malloc((*n + 1) * sizeof(double));
srand(time(NULL));
for(int i = 0; i <= *n; i++)
{
if(! randomize)
{
scanf("%lf", *arr + i);
}
else
{
*(arr + i) = rand();
}
}
}
基于
randomize
参数,我想用随机或自定义的双精度数填充数组。然而,这段代码无法编译,它显示了 else 部分的 "invalid conversion from int to double"
。
使用任何浮点值(例如 5.0)替换 rand()
将显示 "cannot convert double to double"。
(double) rand()
或 (double) 5
抛出类似的错误。
当然,*n
在此函数中早先已读取,这里只是被省略了。
这里可能有什么问题?