模板函数的模板参数

2024-03-23

我刚刚发布了一个skiplist容器库。 Sun 编译器对此有抱怨:

template <class T, class R>
bool operator==(const IndexedSkipList<T,R> &left, const IndexedSkipList<T,R> &right)
{
  return ((left.size() == right.size()) &&
          (std::equal(left.begin(), left.end(), right.begin())));
}

错误是:

"include/CSIndexedSkipList.h", line 65: Error: Too few arguments for template std::reverse_iterator<CS::BidiIdxIterator<CS::IndexedSkipList<CS::T, CS::R>>>.
"include/CSIndexedSkipList.h", line 207:     Where: While specializing "CS::IndexedSkipList<CS::T, CS::R>".
"include/CSIndexedSkipList.h", line 207:     Where: Specialized in non-template code.

上面的代码是从207开始的。但它似乎在抱怨reverse_iterator。我真的无法理解它。我无法直接访问 Sun 编译器,所以我想知道我是否做错了什么。

另外,我在reverse_iterator中只使用了一个模板参数,但我注意到SGI文档说第二个参数T没有默认值。在我看过的所有地方,他们都只是使用这个:

typedef std::reverse_iterator<iterator> reverse_iterator;

这是编译器抱怨的第 65 行。我需要添加 T 作为参数吗?我无法弄清楚有问题的错误。

顺便说一句,这适用于我能找到的所有平台上的 gcc。它在 Borland 中也能工作。


正如所解释的比较 C++ 标准库 libCstd 和 libstlport http://developers.sun.com/solaris/articles/cmp_stlport_libCstd.html,Sun C++ 编译器附带了“C++ 标准库”的两个实现:libCstd 和 libstlport。不幸的是,libCstd 不符合标准,但出于向后兼容性的原因它是默认值。除其他差异外,libCstd 的版本std::reverse_iterator模板使用多个模板参数。

您需要通过传入编译器选项来指示编译器使用 libstlport-library=stlport4.

也可以看看:

  • 当使用 libCstd 编译时,Boost 不会在 Solaris 上构建 - 重点关注 program_options https://svn.boost.org/trac/boost/ticket/3190
  • 问题 53 - google-sparsehash - SunOS CC 编译器上的编译失败 https://code.google.com/p/google-sparsehash/issues/detail?id=53
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

模板函数的模板参数 的相关文章

随机推荐

  • 使用 NServiceBus 处理消息时 MSMQ 消耗大量内存

    我有两个使用 NserviceBus 的 Windows 服务 一个将消息写入队列 另一个从队列中读取消息并进行一些处理 所有队列都是事务性的 并且 NserviceBus 端点配置如下 IsTransactional true Isola
  • jquery ajax post - 如何取回数据?

    我有一个包含一系列图像的个人资料页面 我想使用 jQuery 允许用户从服务器删除图像并更新页面 而无需重新加载整个页面 成功后 它将从页面中删除包含图像的 div 我的删除函数是PHP的 相当简单 删除 php 已经有用户身份验证 只是为
  • 如何写入 Visual Studio 2010 AddIn 中的输出窗口?

    我正在编写一个简单的 Visual Studio 2010 插件来完成工作中的常见复制工作 从 libs sln 获取 dll 我希望将复制进度写入输出窗口 I tried Trace WriteLine 希望能够成功 但是当我在调试器中运
  • JQuery 更新数据-属性/值

    我有一个看起来像这样的 DIV 利用 data gauge 属性 div class uib justgage gauge no wrap widget uib w 6 div
  • OpenJPA 和 Spring-boot 配置

    我正在努力解决 spring boot 应用程序的基本配置 并使用 OpenJPA 作为 jpa 实现 基本上我总是以 引起原因 org apache openjpa util MetaDataException 类型 class com
  • 使用 Felix 和 Maven 创建完整的 OSGi 应用程序

    我有一组使用 Maven 构建的 OSGi 包 我想知道是否有一个可用的 Maven 插件可以让我执行以下操作 指定要包含在发行版中的一组捆绑包和 或指定单个捆绑包并解决依赖关系 构建一个完整的分发框架 我的意思是一个包含所有需要的包的 z
  • 如何计算术语-文档矩阵?

    我知道术语文档矩阵是一个数学矩阵 描述文档集合中出现的术语的频率 在文档术语矩阵中 行对应于集合中的文档 列对应于术语 我在用sklearn 的 CountVectorizer从字符串 文本文件 中提取特征以减轻我的任务 以下代码根据以下内
  • 使用 PhpUnit 时 Composer 无法加载加载器

    我正在尝试将 PhpUnit 与 Composer 一起使用 为了这个目的我做了 1 将 phpunit 添加到 req Composer 部分 require php gt 5 3 0 require dev phpunit phpuni
  • 在sql server 2008中将varchar转换为十进制

    我将此数据作为 varchar 00072330 如何将其转换为 SQL Server 2008 中类似 723 30 的小数 尝试这个 declare data as varchar 8 set data 00072330 print c
  • VS2015 或 NP++ 中的多行正则表达式

    我需要在多个文件中替换以下模式 this dialogs 当我设置时这工作正常single line在这里标记 https regex101 com r dF2yG3 2 https regex101 com r dF2yG3 2 但是我无
  • python创建DDE服务器并不断发送数据

    我正在尝试用 python 编写一个 DDE 服务器 它需要将不断变化的字符串发送到作为 DDE 客户端连接的程序 连接到 DDE 服务器的程序使用以下 DDE 设置来连接 服务 Orbitron 主题 Tracking 项目 Tracki
  • 在额外维度上扩展 NumPy 数组

    在额外维度上扩展给定 NumPy 数组的最简单方法是什么 例如 假设我有 gt gt gt np arange 4 array 0 1 2 3 gt gt gt shape 4 gt gt gt expand np arange 4 0 6
  • 有没有办法增加 Google Chrome 中 localStorage 的大小以避免 QUOTA_EXCEEDED ERR: DOMException 22

    我编写了一个网络应用程序 允许您将图像存储在 localStorage 中 直到您点击保存 因此 如果信号较差 它可以离线工作 当 localStorage 达到 5MB 时 Google Chrome 会在 javascript 控制台日
  • 在 Python 3 中查找网站中最常见的单词 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要使用 Python 3 代码查找并复制在给定网站上出现超过 5 次的单词 但我不知道该怎么做 我已经浏览了有关堆栈溢出的档案 但
  • JQuery 在事件上加载脚本(点击)

    selector click function here I would like to load a javascript file let s say js script on click event js 这有可能吗 我不确定 但我记
  • 我可以在ironpython中使用命名参数和可选参数吗

    我希望在ironpython中加载 net dll 但是 net dll 中的静态函数之一有一些命名参数和可选参数 比如 绘制 重量 w 高度 h 面积 1 我只能使用完整的参数吗 完全支持命名参数和可选参数 NET 长期以来一直支持 VB
  • 为什么在非 ARC 环境中的属性上使用关键字“strong”?

    我刚刚开始使用 Xcode 4 2 和 iOS5 进行开发 创建空的选项卡式应用程序项目后 我注意到属性上使用了新的关键字 strong 我继续读下去这个帖子 https stackoverflow com questions 670102
  • HTML 'class' 元素属性可以包含换行符吗?

    HTML5 元素的 class 属性可以包含换行符吗 规范中是否允许并且浏览器支持它吗 我问这个问题是因为我有一些代码可以动态地将各种类插入到元素中 这创建了一个很难管理的很长的行 通常我会使用变量构建类值 但我使用的 CMS 要求模板条件
  • Thread.start() 和 Thread.run() 有什么区别?

    为什么我们称start 方法 该方法又调用run method 我们不能直接打电话吗run 请举例说明有什么区别 不 你不能 调用run就会执行run 方法在同一个线程中 无需启动新线程
  • 模板函数的模板参数

    我刚刚发布了一个skiplist容器库 Sun 编译器对此有抱怨 template