我正在尝试编写一个名为 ComputeMaximum 的函数,它有两个参数,都是指向常量 double 的指针类型,并返回指向 double 的类型指针
我不断收到以下转换错误:
- 从“const double*”到“double*”的无效转换
- 无法将参数“1”的“double”转换为“const double*”至“double* ComputeMaximum(const double*, const double*)”
#include <iostream>
using namespace std;
double *ComputeMaximum(const double *num1, const double *num2)
{
return ((double*)num1>num2?num1:num2);
}
int main()
{
double *max;
max = ComputeMaximum(6.4, 6.9);
cout << *max;
return 0;
}
最佳答案
6.4、6.9
是浮点字面量(或)常数值,不能转换为指针。您需要的只是 double
作为函数的参数类型,而不是 double*
。
指针指向位置的地址,本身不能保存值。所以,试试
double ComputeMaximum(const double num1, const double num2)
// Notice * are removed.
{
// ....
}
关于c++ - 从 const double 的指针返回指向 double 的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11600759/