c++ - 从 const double 的指针返回指向 double 的指针

标签 c++ pointers double constants

我正在尝试编写一个名为 ComputeMaximum 的函数,它有两个参数,都是指向常量 double 的指针类型,并返回指向 double 的类型指针

我不断收到以下转换错误:

  1. 从“const double*”到“double*”的无效转换
  2. 无法将参数“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/

相关文章:

c - 在 C 中格式化 double ,如 xxxxE+xx

c++ - 为具有多个参数的函数创建 SWIG 类型映射的更简单方法?

c++ - 在 tableModel qt 上安装验证器

c++ - 使用另一个文件夹中的源代码时 Unresolved external 问题

c++ - 使用bool函数在c++中进行递归二进制搜索

函数错误类型冲突

c++ - 如何在一个区间内循环遍历 double 的每个值?

c++ - 有没有办法设计两个私下操作彼此数据的类?

c - 函数指针的大小取决于哪些参数?

c++ - 在 C++ 中使用 c_str() 将字符串转换为 double