gpt4 book ai didi

c++ - 无法将参数 'double' 的 'double*' 转换为 '1' 到 'void Swap(double*, double*)'

转载 作者:行者123 更新时间:2023-11-28 00:21:18 27 4
gpt4 key购买 nike

我正在尝试完成复习题(为即将到来的编程决赛),但是,我无法解决这个问题,因为我不断收到错误(标题)。正如预期的那样,我将发布问题和我尝试的解决方案。

问题:

给定以下函数定义:void swap(double *n1, double *n2)对于交换两个数字的函数。实现这个交换功能和从 main 调用函数,传入两个数字。打印两者的值
main 中的数字以验证您的函数是否正常工作以及交换了号码。

我的回答:

void Swap(double *n1, double *n2)
{
int temp;
temp = *n1;
cout<<temp<<endl;
*n1 = *n2;
*n2 = temp;
cout<<temp<<endl;
}
int main()
{
Swap(.99,2.1);
return 0;
}

当然,我们得到了一个解决方案页面,但是,这是没有给出解决方案的问题之一。我应该怎么做/我该如何处理这个问题?请彻底解释给出的任何解决方案!谢谢!

最佳答案

函数参数double *n1 表示必须给函数一个double 的地址。但是,您尝试给它加倍。

要获取 double 的地址,您必须创建一个变量:

double d1 = .99;
double d2 = 2.1;
Swap( &d1, &d2 );

关于c++ - 无法将参数 'double' 的 'double*' 转换为 '1' 到 'void Swap(double*, double*)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27351099/

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