“fabs”:使用模板时对重载函数的不明确调用

2024-01-12

我有以下功能:

T* tContainer_t<T, R>::Remove( T item )
{    
    typename R::const_iterator it = std::find_if(Container.begin(), Container.end(),  [item](const T* v) { return std::fabs(*v - item) < DBL_EPSILON; });
    if (it != Container.end())
    {
        ...
    }
    else
        return NULL;
}

T can be int, double, float, ETC....

编译器给了我'fabs' : ambiguous call to overloaded function when using templates

有什么问题以及如何解决?

Thanks.


T can be int, 双倍的,float, etc.

共有三个重载std::fabs在 C++ 中float, double, and long double.

如果您尝试致电std::fabs带有类型参数int,由于重载歧义,您将收到编译错误。一个int参数同等地匹配所有三个可用的重载。

您可以将参数转换为已知类型(例如double or long double),这将解决歧义,或者您可以将调用包装到fabs在对整数类型参数执行歧义消除的模板中。

或者,C++ 有std::abs,它对整数和浮点类型都重载(在<cmath> and <cstdlib>)。此外,如果您最近有一个实现 C++11 的标准库实现,则调用std::fabs带有整数类型参数会自动将参数转换为类型double,所以没有歧义。

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

“fabs”:使用模板时对重载函数的不明确调用 的相关文章

  • boost::asio + std::future - 关闭套接字后访问冲突

    我正在编写一个简单的 TCP 客户端来发送和接收单行文本 异步操作由 std future 处理 以便于超时阻塞查询 不幸的是 我的测试应用程序在破坏服务器对象时因访问冲突而崩溃 这是我的代码 TCP客户端 hpp ifndef TCPCL
  • 如何在 Visual Studio 2010 中增强 XAML 设计器?

    当我使用 XAML 设计器时 进入设计器和退出设计器是如此困难和缓慢 当我这样做时 Visual Studio 卡了一段时间 有什么方法可以增强 XAML 设计器和编辑器吗 Ant 保存 XAML 文件时非常慢 这通常意味着您可能有复杂的
  • 在 C# 中创建具有单独列的分隔文本

    我一直在尝试在 C 中创建一个制表符限制的文本文件 以便数据正确显示在单独的列中 Firstname Lastname Age John Smith 17 James Sawyer 31 我尝试过 t 字符 但我得到的只是 Firstnam
  • VB.NET 相当于 C# 属性简写吗?

    是否有与 C 等效的 VB NET public string FirstName get set 我知道你能做到 Public Property name As String Get Return name ToString End Ge
  • C++ 中本地类中的静态成员变量?

    我知道我们不能宣布static本地类中的成员变量 但其原因尚不清楚 那么请问有人可以解释一下吗 另外 为什么我们不能访问非static函数内部定义的变量 内部已经定义了局部类 直接在局部类成员函数中 在下面给出的代码中 int main i
  • 启动时出现 OData v4 错误:找不到段“Whatever”的资源

    我正在构建新的 v4 服务 一切进展顺利 直到我为新模型 实体添加了新控制器 并在启动站点进行测试运行时收到此错误 控制器似乎编码正确 就像其他控制器一样 控制器 CustomersOData 中的操作 GetFeed 上的路径模板 Cus
  • 推导指南中的引用和值之间的差异

    考虑类型A template
  • 如何将 #ifdef DEBUG 添加到 Xcode?

    我的项目中有一些代码永远不应该在发布版本中使用 但在测试时很有用 我想做这样的事情 ifdef DEBUG Run my debugging only code endif 在 Xcode 4 中哪里添加 DEBUG 设置 我尝试将其放入
  • 互斥体实现可以互换(独立于线程实现)

    所有互斥体实现最终都会调用相同的基本系统 硬件调用吗 这意味着它们可以互换吗 具体来说 如果我使用 gnu parallel算法 使用openmp 并且我想让他们称之为线程安全的类我可以使用boost mutex用于锁定 或者我必须编写自己
  • XamlReader.Load 在后台线程中。是否可以?

    WPF 应用程序具有从单独的文件加载用户控件的操作 使用XamlReader Load method StreamReader mysr new StreamReader pathToFile DependencyObject rootOb
  • C++中的类查找结构体数组

    我正在尝试创建一个结构数组 它将输入字符串链接到类 如下所示 struct string command CommandPath cPath cPathLookup set an alarm AlarmCommandPath send an
  • 用于检查项目文件中的项目变量和引用路径的 api

    我正在研究一个 net application VS2010 与 x 没有 解和变量号这些解决方案中的项目数量 我需要检查项目属性 特定于一定数量的项目 是否同质 并且检查 验证构建期间的参考路径 有没有一个API是这样的吗 如果没有 我该
  • 如何在 C# 中定义文本框数组?

    您好 当我在 Windows 申请表上创建文本框时 我无法将其命名为 box 0 box 1 等 我这样做的目的是因为我想循环使用它们 其实我发现TextBox array firstTextBox secondTextBox 也有效
  • 获取 WPF 控件的所有附加事件处理程序

    我正在开发一个应用程序 在其中动态分配按钮的事件 现在的问题是 我希望获取按钮单击事件的所有事件 因为我希望删除以前的处理程序 我尝试将事件处理程序设置为 null 如下所示 Button Click null 但是我收到了一个无法分配 n
  • ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

    我有一个 ASP NET VB NET 日期 我试图获取自 1970 年 1 月 1 日以来的毫秒数 我尝试在 MSDN 中寻找方法 但找不到任何东西 有谁知道如何做到这一点 从 NET 4 6 开始 该方法ToUnixTimeMillis
  • 私有模板函数

    我有一堂课 C h class C private template
  • 如何从main方法调用业务对象类?

    我已将代码分为业务对象 访问层 如下所示 void Main Business object public class ExpenseBO public void MakeExpense ExpensePayload payload var
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • memset 未填充数组

    u32 iterations 5 u32 ecx u32 malloc sizeof u32 iterations memset ecx 0xBAADF00D sizeof u32 iterations printf 8X n ecx 0
  • 当另一个线程可能设置共享布尔标志(最多一次)时,是否可以读取共享布尔标志而不锁定它?

    我希望我的线程能够更优雅地关闭 因此我尝试实现一个简单的信号机制 我不认为我想要一个完全事件驱动的线程 所以我有一个工作人员有一种方法可以使用关键部分优雅地停止它Monitor 相当于C lock我相信 绘图线程 h class Drawi

随机推荐

  • 假设 DayOfWeek 的数值是否安全?

    我将星期几存储在数据库中 其中星期日 1 星期一 2 等 在数据库查询中 我需要将日期转换为System DayOfWeek 根据MSDN http msdn microsoft com en us library system dayof
  • 使用 libgdx 进行触摸滚动

    我正在尝试在 libgdx 游戏中实现触摸滚动 我有一张宽图像 是房间的全景图 我希望能够滚动图像 以便用户可以看到房间周围的情况 我拥有它 这样我就可以滚动一定的距离 但是当注册新的 touchDragged 事件时 图像会移回到原始位置
  • ASP.NET MVC 资源文件的最佳实践

    以下资源文件的最佳用途是什么 属性 资源 Phil http haacked com archive 2009 12 07 localizing aspnetmvc validation aspx在 DataAnnotation 中使用此资
  • MIUM 8 红米手机后台服务被杀死如何重启

    我在用sticky service用于后台操作 即使应用程序处于运行状态 它在所有手机中也能正常工作closed通过从堆栈中滑动 然后服务重新启动 但在RedMi Note 3w当应用程序通过从堆栈滑动关闭时 service is not
  • 代理背后的 Google Drive API Java 客户端

    我正在尝试使用 Drive API 编写一个 java 客户端驱动器 API v2 https developers google com resources api libraries documentation drive v2 jav
  • 将 WPF 样式触发器绑定到自定义依赖项属性

    我在这里找到了许多类似的线程 但似乎没有一个能解决我的具体问题 我需要在某些条件下突出显示文本框的背景 我创建了一个突出显示属性 并尝试使用样式中的触发器来设置它 但它实际上并没有突出显示文本 这是我的风格 简化了
  • Javascript setTimeout 和重定向 - IE 冻结

    我的页面上有一个脚本用于处理会话超时 当会话到期时在客户端重定向用户 完整的代码有点复杂 但我已经将代码精简到导致问题的原因
  • 更改提交者作者姓名

    我需要 SOS 帮助 我向 bitbucket 提交了一个项目并以我的名字提交 但我需要更改作者姓名 和电子邮件地址 最简单的方法是什么 您可以简单地修改最后一次提交并推送 强制 git commit amend author Your n
  • Nodejs 从 http 请求块中读取 JSON 数据

    我正在使用 Jira API 来获取单票数据 我已成功向服务器设置了 http GET 请求 并且可以将数据显示到控制台 但理想情况下我需要从 JSON 格式的数据中获取某些属性 当我尝试读取属性时 我只是得到了未定义的信息 var req
  • 使用 Mercurial 维护 CMS 和网站

    我对 Mercurial 还很陌生 在阅读了一些教程后 我仍然怀疑什么是完成我打算用它做的事情的最佳方法 我的目标是维护我正在开发的 CMS 添加新功能 修复错误等 并能够轻松地将这些更新分发到我使用所述 CMS 制作的网站 我首先为 CM
  • 如何在vuepress中使用jsx?

    Config docs vuepress config js module exports chainWebpack config isServer gt config module rule js Find the rule use ba
  • 在 Azure Cosmos DB 中使用 REST 进行 CRUD 操作

    我正在尝试使用 REST 在 Azure Cosmos DB 上执行 CRUD 操作 根据链接 https learn microsoft com en us rest api documentdb create a document ht
  • MVC 输入日期时间

    如果我在 MVC 中使用 EditorFor 我的 DateTime 字段会显示未格式化的日期时间 如果我使用旧式 html 我的字段不会收到错误类 div class editor field div
  • 暂停 Elastic Beanstalk 应用程序环境?

    我想在升级数据库时关闭应用程序服务器 有没有办法在不终止 破坏环境的情况下暂停或停止应用程序服务器 我是否可以直接访问 Elastic Beanstalk 负载均衡器并暂时进行更改 而不会对 Elastic Beanstalk 配置或其管理
  • 使用 Hibernate Criteria API 性能不佳

    我有一个使用 Hibernate 与 MsSQL 2005 服务器通信的 Java 应用程序 驱动程序是net sourceforge jtds 1 2 4 一切正常 但性能不佳horrible 我怀疑索引未用于传递给它的查询 因为响应时间
  • 将列表序列化为 JSON [重复]

    这个问题在这里已经有答案了 我正在客户端和 Django 服务器之间发送信息 我想使用 JSON 来实现这一点 我正在发送简单的信息 字符串列表 我尝试使用django core serializers 但是当我这样做时 我得到了 Attr
  • 为什么 /proc/$PID/status 中的 CapEff 全为零

    我从 ping 二进制文件中删除了 setuid 位并添加了cap net raw p而是如下 chmod 755 bin ping setcap cap net raw p bin ping 然后我跑了ping在一个终端中并从另一个终端检
  • 更改 tabbaritem 的字体大小

    是否可以更改选项卡的字体大小 我推荐一个更好的方法 yourTabBarItem setTitleTextAttributes NSDictionary dictionaryWithObjectsAndKeys UIColor whiteC
  • 如何在 Lua 解释器中创建新命令

    编辑 我在ubuntu上 所以在lua解释器中你显然可以调用内置函数 例如 gt 函数名 函数参数 我想创建一个新函数 让 lua 解释器在每次输入时都能识别它 有没有一种方法可以将我的函数添加到 lua 解释器中本机识别的函数列表中 这样
  • “fabs”:使用模板时对重载函数的不明确调用

    我有以下功能 T tContainer t