gpt4 book ai didi

无法将 double 转换为 double

转载 作者:太空狗 更新时间:2023-10-29 15:38:53 25 4
gpt4 key购买 nike

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"

rand() 替换为任何浮点值(例如 5.0)会显示“无法将 double 转换为 double ”。

(double) rand()(double) 5 抛出类似的错误。

*n当然是在这个函数前面读到的,我这里就截掉了。

这里有什么问题吗?

最佳答案

您引用的错误消息不完整。 double 后缺少星号:*(arr + i) 的类型是 double* 而不是 double ,并且您不能将 intdouble 转换为 double*

大概是你的意思

        *(*arr + i) = rand();

        (*arr)[i] = rand();

关于无法将 double 转换为 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15852853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com