没有匹配的函数可用于调用“ ”

2024-02-24

我被要求实现该功能:

 "static double distanta (const Complex&, const Complex&);"

返回两个复数之间的距离。函数的定义位于 Complex 类内部,我已经这样实现了:

double Complex::distanta(const Complex &a, const Complex &b)
{    
    double x = a.real() - b.real();
    double y = a.imag() - b.imag();

    return sqrt(x * x + y * y);
}

据我所知,静态函数只能访问静态成员,而我的类只有

double _re;
double _im;

作为数据成员。

在主函数中我将其称为:

#include <iostream>
#include "complex.h"

using namespace std;

int main()
{
    Complex* firstComplexNumber; 
    firstComplexNumber = new Complex(81, 93);

    cout << "Numarul complex este: " << *firstComplexNumber << endl;

    Complex* secondComplexNumber;
    secondComplexNumber = new Complex(31, 19);

    cout << "Distanta dintre cele doua numere" <<endl << endl;
    Complex::distanta(firstComplexNumber, secondComplexNumber);
    return 0;
}

我得到的错误是:

错误:没有匹配的函数可用于调用“Complex::distanta(Complex*&, Complex*&)”

你能告诉我我做错了什么吗? 谢谢!


您正在传递指针(Complex*)当你的函数需要引用时(const Complex&)。引用和指针是完全不同的东西。当函数需要引用参数时,您需要直接向其传递对象。引用仅意味着对象未被复制。

要获取要传递给函数的对象,您需要取消引用指针:

Complex::distanta(*firstComplexNumber, *secondComplexNumber);

或者让你的函数接受指针参数。

但是,我不会真正建议上述任何一种解决方案。因为您在这里不需要动态分配(并且您正在泄漏内存,因为您不需要delete你有什么newed),你最好一开始就不要使用指针:

Complex firstComplexNumber(81, 93);
Complex secondComplexNumber(31, 19);
Complex::distanta(firstComplexNumber, secondComplexNumber);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

没有匹配的函数可用于调用“ ” 的相关文章

  • 使用链表进行堆排序

    我想知道是否有人曾经使用链表进行堆排序 如果他们可以提供代码 我已经能够使用数组进行堆排序 但尝试在链表中进行排序似乎不切实际 而且在你知道的地方很痛苦 我必须为我正在做的项目实现链接列表 任何帮助将不胜感激 我也用C 答案是 你不想在链表
  • 如何从字符串中提取子字符串直到遇到第二个空格?

    我有一个像这样的字符串 o1 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 如何仅提取 o1 1232 5467 要提取的字符数并不总是相同 因此 我只想提取直到遇到
  • 如何使用 openSSL 函数验证 PEM 证书的密钥长度

    如何验证以这种方式生成的 PEM 证书的密钥长度 openssl genrsa des3 out server key 1024 openssl req new key server key out server csr cp server
  • 关于逻辑/算法的想法以及如何防止线程写入 Sql Server 中的竞争

    我有以下逻辑 public void InQueueTable DataTable Table int incomingRows Table Rows Count if incomingRows gt RowsThreshold async
  • Boost ASIO 串行写入十六进制值

    我正在使用 ubuntu 通过串行端口与设备进行通信 所有消息都必须是十六进制值 我已经在 Windows 环境中使用白蚁测试了通信设置 并得到了我期望的响应 但在使用 Boost asio 时我无法得到任何响应 以下是我设置串口的方法 b
  • 在 Mono 中反序列化 JSON 数据

    使用 Monodroid 时 是否有一种简单的方法可以将简单的 JSON 字符串反序列化为 NET 对象 System Json 只提供序列化 不提供反序列化 我尝试过的各种第三方库都会导致 Mono Monodroid 出现问题 谢谢 f
  • C# 中一次性对象克隆会导致内存泄漏吗?

    检查这个代码 class someclass IDisposable private Bitmap imageObject public void ImageCrop int X int Y int W int H imageObject
  • 2个对象,完全相同(除了命名空间)c#

    我正在使用第三方的一组网络服务 但遇到了一个小障碍 在我手动创建将每个属性从源复制到目标的方法之前 我想我应该在这里寻求更好的解决方案 我有 2 个对象 一个是 Customer CustomerParty 类型 另一个是 Appointm
  • 使用 C# 和 ASP.NET 在电子邮件附件中发送 SQL 报告

    我正在尝试使用 ASP NET 和 C 从 sql reportserver 2008 作为电子邮件附件发送报告 到目前为止我学会了如何获取 PDF 格式的报告 http weblogs asp net srkirkland archive
  • 防止控制台应用程序中的内存工作集最小化?

    我想防止控制台应用程序中的内存工作集最小化 在Windows应用程序中 我可以这样做覆盖 SC MINIMIZE 消息 http support microsoft com kb 293215 en us fr 1 但是 如何在控制台应用程
  • Android NDK 代码中的 SIGILL

    我在市场上有一个 NDK 应用程序 并获得了有关以下内容的本机崩溃报告 SIGILL信号 我使用 Google Breakpad 生成本机崩溃报告 以下是详细信息 我的应用程序是为armeabi v7a with霓虹灯支持 它在 NVIDI
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • Libev,如何将参数传递给相关回调

    我陷入了 libev 中争论的境地 通常 libev 在类似的函数中接收包 接收回调 没关系 但是实际操作中 我们需要派遣一个亲戚 写回调 根据收到的包裹处理具体工作 例如 S RECV MSG pstRecvMsg S RECV MSG
  • 对于 C# Express 用户来说,有哪些好的工具可以识别可能重复的代码? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 也可以看看 有什么工具可以检查重复的 VB NET 代码吗 https stackoverflow c
  • SQLAPI++ 的免费替代品? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何免费 也许是开源 的替代品SQLAPI http www sqlapi com 这个库看起来
  • 读取依赖步行者输出

    I am having some problems using one of the Dlls in my application and I ran dependency walker on it i am not sure how to
  • Unity3D - 将 UI 对象移动到屏幕中心,同时保持其父子关系

    我有一个 UI 图像 它的父级是 RectTransform 容器 该容器的父级是 UI 面板 而 UI 面板的父级是 Canvas 我希望能够将此 UI 图像移动到屏幕中心 即画布 同时保留父级层次结构 我的目标是将 UI 图像从中心动画
  • 如何从 Windows Phone 7 模拟器获取数据

    我有一个 WP7 的单元测试框架 它在手机上运行 结果相当难以阅读 因此我将它们写入 XDocument 我的问题是 如何才能将这个 XML 文件从手机上移到我的桌面上 以便我可以实际分析结果 到目前为止 我所做的是将 Debugger B
  • .Net Reactive Extensions Framework (Rx) 是否考虑拓扑顺序?

    Net 反应式扩展框架是否按拓扑顺序传播通知以最大限度地减少更新量 就像 Scala Rx 所做的那样 Net 反应式扩展 Rx 是否可以 https github com lihaoyi scala rx wiki How it Work
  • 声明一个负长度的数组

    当创建负长度数组时 C 中会发生什么 例如 int n 35 int testArray n for int i 0 i lt 10 i testArray i i 1 这段代码将编译 并且启用 Wall 时不会出现警告 并且似乎您可以分配

随机推荐

  • AlertDialog setmessage 在 Asynctask 内不起作用

    下面是我尝试通过 onProgressUpdate 方法在 Asynctask 中显示进度的代码 但它不会显示在警报对话框中 仅显示初始消息 class DownloadFileFromURL extends AsyncTask
  • TaskFactory.StartNew -> System.OutOfMemoryException

    大约有 1000 个任务正在运行 但有时我会收到任务计划程序抛出的以下内存不足异常 可能是什么原因以及如何避免它 System Threading Tasks TaskSchedulerException An exception was
  • 反应渲染逻辑 && 与三元运算符

    在反应中render 当 x 的值等于 1 时 逻辑 和三元运算符都会显示Hello并且两者在语法上都是正确的 当我不想显示我的条件的其他部分时 我总是使用 但我遇到过一个代码库 其中大多数地方都使用三元运算符null代替 使用一种方法相对
  • 使用 Spark 2.0.1 将数据写入 Redshift

    我正在做一个 POC 我想将一些简单的数据集写入 Redshift 我有以下 sbt 文件 name Spark POC version 1 0 scalaVersion 2 10 6 libraryDependencies org apa
  • 使用 iText pdfHTML 的 PDF 页面大小和格式

    我正在尝试使用 iText7 1 0 和 pdfHTML2 0 0 将 3 个 HTML 页面 均具有相同内容 导出为 PDF这个例子 https developers itextpdf com content itext 7 conver
  • 从 Python 中的“enchant suggest()”获取最相关的单词(拼写检查)

    我想从中获取最相关的单词enchant suggest 有没有更好的方法来做到这一点 我觉得我的函数在检查 100k 或更多范围内的大量单词时效率不高 有问题enchant suggest gt gt gt import enchant g
  • 如何在 Outlook 中添加默认签名

    我正在 Access 中编写一个 VBA 脚本 用于创建并自动填充几十封电子邮件 到目前为止 编码很顺利 但我是 Outlook 新手 创建 mailitem 对象后 如何将默认签名添加到电子邮件中 这将是创建新电子邮件时自动添加的默认签名
  • 如何处理 data.table 中的列表列

    在合并数据的过程中 我经常会得到列表列 例如 左表中的一行在右表中有多个匹配项 让我们定义一下 DT data table x list c 1 2 c 3 4 5 y list c T T c T F T z c 1 2 N c 1L 2
  • 让 javaFX 11 应用程序在 docker 上运行

    我正在尝试让一个在我的机器上完美运行的应用程序在 docker 上运行 这是我的 docker 文件 FROM openjdk 11 jre slim VOLUME tmp ADD someJar jar someJar jar ADD l
  • 如何在 @code 块内编写 Blazor HTML 代码?

    如何在 Blazor 内部的函数中编写 Blazor HTML 代码 code block 考虑以下代码 page Test if option 1 drawSomething Something else drawSomething So
  • 如何获取表单的截图

    有什么方法可以输出活动表单的屏幕截图吗 NET 支持的更简单的答案 控件 DrawToBitmap http msdn microsoft com en us library system windows forms control dra
  • 您可以动态地将 CFBundleDocumentTypes 分配给您的 Cocoa 应用程序吗?

    您可以动态地将 CFBundleDocumentTypes 分配给您的 Cocoa 应用程序吗 这意味着在运行时我可以为我的应用程序分配更多扩展来处理 目前 我为我的应用程序设置了一些扩展来处理 Info plist 中的 CFBundle
  • PhpStorm:满足前提条件时如何处理未处理的异常

    我真的很喜欢 PhpStorm 检查工具 他们帮助我编写了更好的代码 现在我遇到了以下情况 我问自己处理这种情况的最佳方法是什么 我有一个带有一些前提条件的函数 f 例如下面的代码 param int x throws Preconditi
  • 从nodejs中的vtt文件中获取所有提示及其属性

    比如说 我有一个 vtt 文件 我想从中获取 Nodejs 环境中的所有提示及其相关属性 例如 startTime endTime 等 我已经搜索了我能想到的所有关键字 例如 通过 javascript 解析 vtt 文件 但结果都是关于m
  • SQL 和 PHP - mysql_num_rows() 或 'select count()' 哪个更快?

    我只是想知道如果我只是想获取表中的行数 哪种方法最有效 res mysql query SELECT count as number FROM table1 count mysql fetch result res 0 number or
  • 从两个列表中查找共同元素

    我有两个包含一些 3D 坐标的列表 如下所示 例如 a 1 2 3 4 5 6 4 2 3 b 0 11 22 3 12 34 6 41 2 34 198 213 536 1198 1123 1156 b 1 11 22 3 42 25 6
  • 为什么Anaconda不建议设置path环境变量

    Anaconda3 5 3 0 64bit 在安装过程中 我选中了在 PATH 环境变量中添加 Anaconda 的选项 那么它不建议我这样做 它说 相反 请使用 Windows 开始 菜单打开 Anaconda 然后选择 Anaconda
  • 有没有一种方法可以使用 Sorbet 而无需在每个文件中添加 # 类型注释?

    我想开始在 Ruby on Rails 项目中使用 Sorbet 但系统要求我不要向每个文件添加类型注释 有没有办法在不添加注释的情况下使用Sorbet 冰糕支持 typed override您可以为 sorbet 提供一个 YAML 文件
  • Git:如何重写远程历史记录?

    一位同事意外提交了一个大型二进制文件 该文件与源代码管理无关 从而导致存储库异常大 然后 他将此提交推送到公共服务器 从那时起 就有了许多其他提交和推送 我正在寻找一种方法来撤消该提交 或者只是从远程删除二进制文件 以便存储库恢复其通常的大
  • 没有匹配的函数可用于调用“ ”

    我被要求实现该功能 static double distanta const Complex const Complex 返回两个复数之间的距离 函数的定义位于 Complex 类内部 我已经这样实现了 double Complex dis