decltype(some_vector)::size_type 不能用作模板参数

2024-04-16

以下类无法编译:

template<class Key, class Compare = std::less<Key>, class Allocator = std::allocator<Key>>
class MyContainer
{   
public:
    std::vector<Key, Allocator> data;
    std::vector<std::pair<std::size_t, decltype(data)::size_type>> order;
};

我收到以下编译器错误:

错误:“模板 struct std::pair”的模板参数列表中的参数 2 处的类型/值不匹配


为什么下面的代码可以正常编译而无法编译?

template<class Key, class Compare = std::less<Key>, class Allocator = std::allocator<Key>>
class MyContainer
{   
public:
    std::vector<Key, Allocator> data;
    std::vector<std::pair<std::size_t, std::size_t>> order;
};

您需要告诉编译器依赖项size_type确实是一种类型(例如,而不是对象):

template<class Key, class Compare = std::less<Key>, class Allocator = std::allocator<Key>>
class MyContainer
{   
public:
    std::vector<Key, Allocator> data;
    std::vector<std::pair<std::size_t, typename decltype(data)::size_type>> order;
                                       ^^^^^^^^
};

std::size_t不依赖于模板参数,因此在这方面没有歧义。

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

decltype(some_vector)::size_type 不能用作模板参数 的相关文章

  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用
  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 使用 C# 在 WinRT 中获取可用磁盘空间

    DllImport kernel32 dll SetLastError true static extern bool GetDiskFreeSpaceEx string lpDirectoryName out ulong lpFreeBy
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr
  • 如何将字符串“07:35”(HH:MM) 转换为 TimeSpan

    我想知道是否有办法将 24 小时时间格式的字符串转换为 TimeSpan 现在我有一种 旧时尚风格 string stringTime 07 35 string values stringTime Split TimeSpan ts new
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • spring boot @controller @transactional 不起作用

    I have Transactional控制器类中的方法如下 主要问题是每个服务调用根据日志在其自己的事务中运行 控制器是否忽略了事务功能 我希望学生记录不会被保存 因为我在使用另一个服务之后抛出异常 但更新仍然发生在数据库中 我什至有 E
  • sklearn 中的 SVM 支持增量(在线)学习吗?

    我目前正在设计一个文本文章推荐系统 有趣 或 不有趣 的二元情况 我的要求之一是它应该不断更新以适应不断变化的趋势 据我所知 最好的方法是利用支持增量 在线学习 http en wikipedia org wiki Online 5fmac
  • HQL 子字符串最后 x 个字符

    我对 Hibernate 很陌生 我想获取字符串的最后 N 个字符 我找到了 substring 方法 但这并没有真正帮助 有人有什么主意吗 TIA 我实际上使用子字符串修复了它 我忘了我可以使用参数 我做了类似的事情 Query q wh
  • 在闪亮选项卡中使用多个 R Markdown 文件

    我正在构建一个闪亮的应用程序 我想要有多个选项卡集 到目前为止我得到的代码告诉我 shinyUI navbarPage OEI Grant tabPanel Part 1 Organization tabsetPanel 1 x tabPa
  • 如何在Swagger open api 3.0中定义常量字符串[重复]

    这个问题在这里已经有答案了 如何在 swagger open api 3 0 中定义常量字符串变量 如果我定义枚举 它将如下所示 StatusCode title StatusCode enum success fail type stri
  • 使用Golang登录私有站点并提取信息

    我尝试使用 golang 登录网站的私人区域并提取一些信息 但我似乎不太正确 我设法获取登录页面以获取 csrf 令牌 然后将 csrf 令牌与登录信息一起发布到登录页面 然后我就可以正常登录了 如果我在此时停止 我可以看到我被重定向的页面
  • 当尝试使用 Webdriver 通过 linkText 查找链接时,有没有办法忽略大写字母?

    我正在使用 Selenium 2 Webdriver 我想单击一个链接 但链接文本可以是 Linktext 或 LINKTEXT 还有比这更好的方法吗 List
  • 具有大量输入数据的 REST 端点 (GET)

    我正在开发一个应用程序 我需要将对象列表传递到 REST 端点 该端点将执行一些计算并将结果返回给调用者 问题更多的是一个哲学问题 即如何处理这种情况 在 GET 请求中传递巨大的负载是一个坏主意 同时 它并不是真正的 POST PUT 请
  • 在表单提交上显示 Twitter Bootstrap 模式

    我试图在提交表单时显示模式 并满足某些条件 例如 表单有两个文本字段 如果其中一个已填写 则模式将向用户显示一些信息 如果两个字段均未填写 则表单将不会提交 为此我这样做了但没有成功 jsfiddle jsFiddle 链接 http js
  • 创建二叉树的时间复杂度

    我正在尝试从提供的源创建一棵树 要添加到树中的 2 个节点 以及应添加这 2 个新闻节点的节点 为了找到该节点在树中的位置 我使用了中序遍历 该遍历的时间复杂度为 O n 因此 如果要在树中添加 n 个节点 则创建整个树的时间复杂度为 O
  • 如何在 R 数据库中将相似的字符串分组在一起

    我的小标题只有 1 列 称为 标题 gt dat A tibble 13 x 1 title
  • 在 ITextSharp 免费许可证下动态创建 .pdf

    在 ASP NET C 网站 服务器中 我使用名为 ITextSharp 的 pdf 创建器库来创建包含有关产品的文本和一些图像的 pdf 像往常一样 老板不想购买许可证 我知道如果我使用 ITextSharp 版本 4 1 6 或更低版本
  • BlazeDS 中的多个频道

    我正在尝试设置一个场景 其中 Flex 应用程序将能够使用在实现 BlazeDS 的两个不同 Web 应用程序中编写的资源 我最初尝试这样做在我的 mxml 代码中指定通道集 https stackoverflow com question
  • 无法在 Visual Studio 中将 Ajax Minifier 作为构建后运行

    我已经设置了构建后配置 如所示http www asp net ajaxlibrary ajaxminquickstart ashx http www asp net ajaxlibrary ajaxminquickstart ashx 但
  • Oracle SQL 查询中的表需要排序逻辑

    我有一个订单ORDER 1从MFG 1并前往PORT B 订单通过不同的地点移动 并在某些地点之间进行处理和维护 在此示例中 它分为 7 批货物 如果货物在同一地点停留数天 则运输模式为 处理 目标数据 https i stack imgu
  • 无法使用 Python 连接器和外部浏览器身份验证器连接到 Snowflake

    我正在尝试使用 Python 连接器和 SSO 连接到 Snowflake 我希望连接器打开浏览器来验证用户身份 但这不起作用 h Code bin gt python conn py Initiating login request wi
  • 根据匹配条件对 SQL 记录进行排序

    我有这样的疑问 SELECT FROM table WHERE key LIKE 1 2 3 OR key LIKE 1 2 OR key LIKE 1 是否可以根据首先匹配的条件对该查询返回的记录进行排序 我想获取所有匹配的记录key L
  • 是否可以“提示”字典键?

    In PyCharm 代码完成 https www jetbrains com help pycharm auto completing code html gt 基本完成 gt 调用基本完成 gt 字典 我发现 如果您将字典硬编码为某些值
  • 如何在 AngularJS 中使用按键事件?

    我想捕获下面文本框中的回车键按下事件 为了更清楚地说明我正在使用ng repeat填充 tbody 这是 HTML td td
  • decltype(some_vector)::size_type 不能用作模板参数

    以下类无法编译 template