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 不能用作模板参数 的相关文章

随机推荐

  • 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