不明确的 C++ 编译器错误

2023-12-20

以下代码无法编译。该错误似乎是对合并例程的某种不明确的调用。我的理解是,STL 在 std 命名空间中找到了一个合并例程,但据我所知,下面代码中的名称 merge 应该是唯一的。

如果我将 merge 重命名为 xmerge,一切正常。问题可能是什么?名称冲突从何而来?

http://codepad.org/uAKciGy5 http://codepad.org/uAKciGy5

#include <iostream>
#include <iterator>
#include <vector>

template<typename InputIterator1,
         typename InputIterator2,
         typename OutputIterator>
void merge(const InputIterator1 begin1, const InputIterator1 end1,
           const InputIterator2 begin2, const InputIterator2 end2,
           OutputIterator out)
{
   InputIterator1 itr1 = begin1;
   InputIterator2 itr2 = begin2;
   while ((itr1 != end1) && (itr2 != end2))
   {
      if (*itr1 < *itr2)
         *out = *itr1, ++itr1;
      else
         *out = *itr2, ++itr2;
      ++out;
   }
   while (itr1 != end1) *out++ = *itr1++;
   while (itr2 != end2) *out++ = *itr2++;
}

int main()
{
   std::vector<int> l1;
   std::vector<int> l2;
   std::vector<int> merged_list;

   merge(l1.begin(),l1.end(),
         l2.begin(),l2.end(),
         std::back_inserter(merged_list));

   return 0;
}

编译器在你的merge函数和std::merge定义在algorithm. Use ::merge来消除这种歧义。这个调用是不明确的,因为编译器正在使用参数相关查找 http://en.wikipedia.org/wiki/Argument-dependent_name_lookup当使用非限定函数名称时搜索函数。

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

不明确的 C++ 编译器错误 的相关文章

  • 浮点等于的意外结果

    问题不在于为什么0 1 0 9不等于1 0 这是关于平等者的不同行为 有人可以解释为什么下面的示例的工作方式不同 float q 0 1f float w 0 9f float summ q w q w 1 0f False summ 1
  • 类似于 Active Directory 中的搜索

    我正在使用 C 中的以下代码搜索 LDAP 以轮询用户的活动目录 DirectoryEntry entry new DirectoryEntry ldapPath userName password DirectorySearcher Se
  • 为什么调用 istream::tellg() 会影响我的程序的行为?

    我正在尝试将 24 位位图图像转换为灰度图像 include
  • 在 C# 中将“set”添加到接口的属性中

    我希望通过为该接口中的属性提供设置访问器来 扩展 该接口 界面看起来像这样 interface IUser string UserName get 我想要这样的东西 interface IMutableUser IUser string U
  • Control.Invoke 在隐藏的 ShowDialog 中“卡住”

    我有解决这个问题的方法 但这不是我第一次被咬 所以我试图确切地了解发生了什么 从我的申请中 我ShowDialog表单 表单上有一个按钮 单击该按钮时会调用另一个 非 GUI 线程上的代码 非 GUI 线程发回状态 Pushed then
  • 从 C++ 中的 std::string 获取字节

    我正在一个 C 非托管项目中工作 我需要知道如何获取像 一些要加密的数据 这样的字符串并获取一个 byte 数组 我将用它作为加密的源 在 C 中我做 for int i 0 i lt text Length i buffer i byte
  • 如何使用 Moq 模拟 Web 服务调用?

    The using下面点击了我不想实际点击的外部资源 我想测试someResult以及使用它的代码 但每次我运行单元测试时 该代码仍然尝试访问真正的 Web 服务 如何使用最小起订量来伪造对 Web 服务的真实调用 但不模拟使用中的其余代码
  • 如何BSWAP 64位寄存器的低32位?

    我一直在寻找如何将 BSWAP 用于 64 位寄存器的低 32 位子寄存器的答案 例如 0x0123456789abcdef位于 RAX 寄存器内 我想将其更改为0x01234567efcdab89用一条指令 因为性能 所以我尝试了以下内联
  • 如何测试抽象类的受保护抽象方法?

    我一直在研究测试名为的抽象类的最佳方法TabsActionFilter 我保证继承自的类TabsActionFilter将有一个名为GetCustomer 在实践中 这种设计似乎效果很好 我遇到的一些问题是弄清楚如何测试OnActionEx
  • WPF 应用程序在每个系统规模上具有相同的大小(与规模无关)

    有没有办法让 WPF 应用程序在每个系统规模上获得相同的大小 当我改变时更改文本 应用程序和其他项目的大小在windows系统设置中125 推荐 to 100 在全高清屏幕中 我的 WPF 应用程序变得太小 为了实现独立的系统缩放应用程序
  • DISM.exe 返回代码?

    我有一个程序调用 dism exe 程序 它在后台运行一些命令 现在 我只检查返回代码 0 或其他任何内容 以显示进程失败或成功 我可以用什么来交叉检查返回代码以获得准确的返回错误 DISM 参考了哪些回报 评论中提供的链接DISMAPI
  • C++ 按值而不是按引用将数组发送到函数

    我的 C 有问题 我有一个对数组进行排序的函数 但我不想处理原始数组 我想通过值而不是通过引用将数组发送到函数 请帮我 int bogoSort int tab int n int iloscOperacjiDominujacych 0 c
  • 在函数内部使用时,c 数组大小会发生变化

    我有这段代码 include
  • thread_local成员变量构造

    我遇到了 thread local 的一些奇怪行为 不确定我是否做错了什么或者这是一个 GCC 错误 我有以下最小重现场景 include
  • 使用资源文件进行本地化不起作用

    我添加了新的 Rosource 文件 UserNotification resx 然后我添加了两个文件进行本地化 并将其命名为 UserNotification hr HR resx 和 UserNotification sl SI res
  • 执行按钮单击时使 wpf UI 响应

    在我的 wpf c 应用程序中 当用户按下按钮时会执行一个很长的过程 当按下按钮直到执行完整的代码时 窗口将冻结 用户无法在窗口中执行任何其他任务 如何使按钮单击代码作为后台进程 以便窗口响应用户 我尝试过以下方法 但没有成功 privat
  • System.Globalization.CultureInfo 不包含 Name 的定义

    我对 System Globalization CultureInfo 类和 System Globalization 命名空间有这个特殊问题 我从具有 CultureInfo 属性的 API 调用返回一个对象 语言 我能够成功地将其在客户
  • 检测 Windows 重新启动是否是由于 Windows 更新造成的

    我的电脑上的一些应用程序一直在检测 Windows 更新是否重新启动 这是可以观察到的 因为它们会在 Windows 更新自动重启后重新启动 这非常有帮助 因为这些应用程序会重新加载更改 甚至unsaved更改或恢复选项卡 如果是浏览器 执
  • K&R 之后用什么书来学习纯 C 编程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • .NET Web API - 添加日志记录

    我正在寻找有关处理 API 日志记录的最佳方法的帮助 我想将所有请求和响应记录到 sql 或文本文件 如果这是最好的方法 目前我已经在 SQL Server 的日志表中插入一行 我使用名为 LogAction 的静态方法来执行此操作 并在

随机推荐

  • 如何使用 html 文件选择器(输入类型=“文件”)将照片上传到 facebook(graph api)

    我有一个 html 文件 它从用户的计算机中选择图像 代码如下
  • AWS Elastic beanstalk 上的 CORS

    我是 AWS 新手并且使用过 弹性豆茎在节点中部署我的其余 API api example com and S3桶 with 云前我在 React 中的静态网站 example com 从网站调用 API 端点时 浏览器会给出 CORS 错
  • iPad 横向应用程序不响应屏幕底部附近的触摸

    我是一位经验丰富的开发人员 但对 iOS 还比较陌生 我在使用 iPad 应用程序时遇到了一些问题 我的视图没有响应屏幕底部三分之一的按钮触摸 触摸其他按钮工作正常 所以我知道我的视图在加载时已正确连接 我已在 IB 中创建了它们 我在模拟
  • 网络路径上的 Directory.CreateDirectory

    我正在尝试在网络路径上创建一个新的目录树 该共享位于 192 168 5 193 FileContext并且有Everyone 完全访问权限权限 这段代码 DirectoryInfo directoryInfo Directory Crea
  • 在类构造函数中设置默认值 C#

    我需要一个默认值设置以及许多不同的页面访问和更新 最初我可以像这样在类构造函数中设置默认值吗 在 C NET 中执行此操作的正确方法是什么 public class ProfitVals private static double hipr
  • 根据同一 html 表单中的另一个下拉列表填充下拉列表

    我有一个 HTML 表单 里面有很多选项 我想根据以前的用户选择更改这些选项内的值 假设我有这样的东西
  • 在反应原生中存储私有数据的最佳方式是什么?

    我怎样才能实现这样的功能remember me通过反应应用程序进行身份验证时 我认为未加密AsyncStorage这不是最好的方法 因为数据对用户开放 我尝试过使用realm 但陷入了在android中无法解决的问题expo测试应用程序 它
  • 使用 Outlook VBA 将电子邮件复制到剪贴板

    如何将电子邮件复制到剪贴板 然后将其粘贴到 Excel 中并保持表格完好无损 我正在使用 Outlook 2007 我想做相当于 Click on email gt Select All gt Copy gt Switch to Excel
  • 从 DOUBLE (15,2) 转换为 DECIMAL (15,2)

    mysql中double和decimal之间转换会不会有数据丢失 双精度数的精度约为 16 位小数 所以答案是否定的 因为这两种类型都被声明为具有 15 位十进制数字的精度 如果类型有 16 位数字 则取决于存储的数字 因为双精度数的精度实
  • SQL Server:表中的行更改了顺序

    我创建了带有这样的数字的表 如何找到数据间隙并插入 NULL 数据点而不是有间隙 https stackoverflow com questions 20911946 sql how to find gaps of data and ins
  • 如何在 MinGW 中启用实验性 C++11 并发功能?

    当尝试编译以下代码时 include
  • 浮动条形图

    我正在尝试绘制一个图 其中 x 轴是时间 y 轴是条形图 条形图覆盖特定时间段 如下所示 gt time 我有 2 个日期时间值列表 分别代表我想要涵盖的这些时间的开始和结束时间 到目前为止我已经 x np array dt datetim
  • ORA-00604: 递归 SQL 级别 1 发生错误

    我开始得到以下内容SQL exception我不知道这个异常的根本原因是什么 我也关门了dbconnection and prepared statement也 那么问题出在哪里呢 java sql SQLException ORA 006
  • Firestore - 如何检索集合的所有子集合

    我有一个关于 Firestore 的问题 我创建了一个 类别 集合 其中有几个文档 我创建了一个 建筑工地 子集合 我想从每个类别中检索所有子集合 但是当我尝试这样做时 useEffect gt const listConstruction
  • K8S iptables 与 pod 内容器的关系

    我已在容器中启用特权模式并向其添加规则 iptables N udp2rawDwrW 191630ce C0 iptables F udp2rawDwrW 191630ce C0 iptables I udp2rawDwrW 191630c
  • 为什么这个映射函数不会改变原始数组中的值?

    这是有问题的代码 const array 1 2 3 array map item gt item item 1 console log array 我以为item 第一 论证map方法是对数组中原始项目的引用 直接改变它会改变第一个数组的
  • 使用不同尺寸但相同数量的 HoG 特征的图像训练分类器

    我想用一些图像来训练我的分类器 其中一些图像具有不同的尺寸 它们都属于以下维度 100x50 50x100 64x72 72x64 然而 由于有 9 个方向箱和每个单元 8 个像素 每个单元都会生成 648 个 HoG 特征 实际上 我选择
  • 如何将askdirectory结果保存在我可以使用tkinter和OOP使用的变量中?

    我遇到了一些麻烦 我对 OOP 很陌生并且正在使用tkinter和一般的 GUI 我设法在互联网上找到了一些代码 并将它们组合在一起以创建一些东西 而我已经接近我想要的地方了 所以我想要的是一些帮助来解决这个问题 我如何分配结果askdir
  • 如何使用 Firebase 处理自动服务器端计算?

    也许我的问题应该重述为 如何将这些行为重构为 CRUD 这正是 Firebase 所擅长的 我知道 CRUD 效果很好 我还了解 Firebase 声明式安全模型如何让我确保服务器端 它应该存在的地方 具有适当的安全性 假设我有订阅服务 每
  • 不明确的 C++ 编译器错误

    以下代码无法编译 该错误似乎是对合并例程的某种不明确的调用 我的理解是 STL 在 std 命名空间中找到了一个合并例程 但据我所知 下面代码中的名称 merge 应该是唯一的 如果我将 merge 重命名为 xmerge 一切正常 问题可