我正在尝试完成一个评论问题(对于即将到来的编程决赛),但是,我不能解决这个问题,因为我不断得到错误(标题)。我将按照预期发布问题和我尝试的解决方案。
问题:
您将获得以下函数定义: void swap(double * n1,double * n2) 用于交换两个数字的函数。实现这个交换功能和 从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;
}
当然,我们获得了一个解决方案页面,然而,这是未给出解决方案的问题之一。我该怎么做/我该如何处理?请详细说明任何解决方案!谢谢!
答案 0 :(得分:3)
函数参数double *n1
表示必须为函数指定double的地址。但是你试图给它加倍。
要获取double的地址,您必须创建一个变量:
double d1 = .99;
double d2 = 2.1;
Swap( &d1, &d2 );