使用模板参数作为模板参数

2023-12-01

为什么下面的代码无效?

template <typename S, typename T>
struct B{
    void f(T t, S s) {t.f<S>(s); }
};

gcc 4.3.4 抱怨它“在 '>' 标记之前需要主表达式”,即“S”不是有效的主表达式。


您需要指定f是一个模板:

void f(T t, S s) {
    t.template f<S>(s);
}

C++ 不知道这一点(此时),因为f的类型取决于模板参数的类型T。此外,以下语法将是不明确的:<是指模板列表的开始还是小于运算符?为了帮助 C++ 解决这个问题,你需要指定f是一个模板,否则C++无法解析下面的部分,因为解析自身取决于类型T.

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

使用模板参数作为模板参数 的相关文章

  • C# 中直接从 URL 获取图像尺寸

    我正在尝试使用以下代码直接从网络上获取图片的尺寸 string image http www hephaestusproject com csharp3 png byte imageData new WebClient DownloadDa
  • 无需登录即可在 Intranet 上获取 Web 应用程序的域\用户名

    我的 Intranet 上有一个 Web 应用程序 VS 2005 有几个页面不需要用户登录应用程序 反馈和默认页面 我正在尝试获取要显示和 或发送反馈的域名和用户名 有没有一种方法可以在不需要用户登录的情况下执行此操作 我试过了this
  • JetBrains Rider 针对 4.5 框架,无法切换到 4.7

    基本上 当尝试添加不支持旧框架的 NuGet 包时 会出现错误 但是在项目配置中只有 4 5 可用 在项目创建过程中 不存在选择目标的选项 有什么方法可以正确配置它吗 I haven t found out how to set up NE
  • 静态 OpenCV 库中未定义的引用

    我有一个使用 OpenCV 3 1 的 C 项目 并且使用共享库可以正常工作 但现在我想使用静态库 位于项目目录中的文件夹中 来编译它 因为我希望能够在未安装 OpenCV 的情况下导出它 如果需要还可以编辑和重新编译 这次我重新编译了 O
  • 如何将 Visual-Studio 2010 切换到 c++11

    我是 c 编程新手 我想尝试 c 11 新功能 那么我要问的是如何切换 Visual studio 2010 才能编译 c 11 源代码 你可以参考这个表 VC10 中的 C 0x 核心语言功能 表格 http blogs msdn com
  • C语言中没有循环可以打印数组吗?

    例如 在Python中 如果我们将一个列表作为数组 它会直接用一行代码打印整个数组 有什么办法可以用C语言实现同样的事情吗 简短回答 No 对表格上几乎所有问题的简短回答 用 C 语言做 X 工作能像用 Python 一样简单吗 No 长答
  • c 使用 lseek 以相反顺序复制文件

    我已经知道如何从一开始就将一个文件复制到另一个文件 但是我如何修改程序以按相反的顺序复制它 源文件应具有读取访问权限 目标文件应具有读写执行权限 我必须使用文件控制库 例如 FILE A File B should be ABCDEF FE
  • AcceptSocket 超时?

    是否有可能AcceptSocket on a TcpListener具有超时的对象 以便它偶尔被中断 TcpListener server new TcpListener localIP port server Start while sh
  • 应用新设置时如何防止 GraphicsDevice 被丢弃?

    我的游戏窗口允许手动调整大小 这意味着它可以像任何其他普通窗口一样通过拖动其边缘来调整大小 游戏还利用了RenderTarget2D rt2d 在主 Draw 方法中设置主渲染目标 GraphicsDevice SetRenderTarge
  • 多线程 - 比单线程慢

    当我使用多个线程而不是单线程运行程序时 它会变慢 不是应该更快吗 该程序应该遍历从起始目录开始的所有目录 并查找并打印所有名为 X 的文件 代码如下 while done pthread mutex lock lock if list is
  • += 运算符在 C++ 中是如何实现的?

    这是我一直在思考的一个问题 但从未找到任何资源来说明这个问题的答案 事实上它不仅是为了 也适用于它的兄弟姐妹 即 等等 当然不是 考虑这个例子 int a 5 a 4 this will make a 9 现在考虑等效表达式 a a 4 T
  • 根据 Active Directory 策略检查密码[重复]

    这个问题在这里已经有答案了 我有一个允许用户更改其 AD 密码的前端 有没有办法获取特定用户及其属性 长度 复杂性 的密码策略 例如细粒度 有没有办法根据此特定策略检查字符串 xyz121 编辑 我不想检查活动目录中存储的当前密码 我想检查
  • C# 反序列化过程中创建指向父对象的指针

    我有这样的课程 Serializable public class child public Parent parent Serializable public class Parent public List
  • List 或其他类型上的 string.Join

    我想将整数数组或列表转换为逗号分隔的字符串 如下所示 string myFunction List
  • Code::Blocks 中的调试似乎不起作用 - 缺少调试符号

    我正在尝试在 Code Blocks 中调试程序 我跟着本指南 http wiki codeblocks org index php title Debugging with Code Blocks and 这个短视频 http www y
  • 文本框中“结束编辑”的事件

    我正在 winform c 中使用文本框 并使用文本在数据库中进行查询 但每次文本更改时 我都需要不断查阅文本框的文本 因此 对于这些 我使用 KeyUp 但这个活动太慢了 文本框编辑完成后是否会触发任何事件 我考虑完成2个条件 控制失去焦
  • 动态菜单创建IoC

    我想知道是否有人知道我如何创建如何使用 AutoFac 之类的东西来让我动态地允许 dll 创建自己的表单和菜单项以在运行时调用它们 所以如果我有一个 员工 dll 新入门表格 证书表格 供应商 dll 供应商详细信息来自 产品形态 在我的
  • 在 C# 窗口应用程序中运行 C/C++ 控制台应用程序?

    现在 我想开发一个简单的应用程序 因此我决定最快的编码方式是 C NET 但现在 我很难实现我需要的功能之一 我想做的是在 C 应用程序的窗口内运行 C C 控制台应用程序 就像在虚幻前端中一样 添加一点通信方式 以便我可以为控制台应用程序
  • 如何获取运行或段落的高度

    我找到了Run or Paragraph in FlowDocument现在我需要知道HEIGHT of it i e while navigator CompareTo flowDocViewer Document ContentEnd
  • 线程安全的有限大小队列,不使用锁

    我正在尝试编写一个主题队列 但遇到死锁和其他多线程问题 我想用Interlocked CompareExchange避免lock用法 但这段代码并没有按预期工作 它只是擦除整个队列 我在这里做错了什么 public class FixedS

随机推荐

  • 计算 Perl 或 Ruby 中重叠的正则表达式匹配数

    这是后续那个问题 我了解到 在 Python 中查找重叠的正则表达式匹配并不简单 因此决定进行额外的查询 看看 Perl 和 Ruby 如何完成这项任务 我想count正则表达式与某个字符串的所有可能匹配的数量 我所说的 全部 是指结果应该
  • 在文本组件上绘制轮廓边框

    我正在尝试画一个边界Text在SWT 这就是我现在得到的 公共类 BorderedText 扩展 Text public BorderedText Composite parent int style super parent style
  • 如何反转 css 过渡属性宽度?

    所以我想制作一个CSS动画属性 其中宽度向左延伸但总是向右延伸 我试图弄清楚如何使宽度向左延伸而不是默认的向右延伸 我应该如何解决这个问题 下面是 JsFiddle Jsfiddle Html div div Css div positio
  • Angular Material 找不到 Angular Material 核心主题

    在我的 Angular2 项目中 我安装了最新的材质插件https material angular io guide getting started 接下来我添加 import angular material prebuilt them
  • 文件上传的严格标准错误

    我写了一个PHP脚本来上传文件 但是当我按下提交按钮时 它给出了一条错误消息 Strict Standards Only variables should be passed by reference in H xampp htdocs p
  • 动态创建变量(对于列表)

    我知道这可能是一个坏主意 但似乎是在创建所有可能的选项并忽略未使用的结果之外执行此操作的 最佳 方法 我有一个源文件 其中包含 12 个潜在值 我已经在列表中拥有所有必需的字符串 但是我的目标是使每个字符串成为列表本身的开头 如果这有意义的
  • 用 PHP 制作可分发的独立程序

    我决定用 PHP 编写一些应用程序 这些应用程序应该在用户的计算机上离线运行 但是 我似乎找不到用户友好的安装向导来创建运行脚本的本地服务器 有任何想法吗 PS 这是我想要的一个例子 http www nolapro com 您可以走老路并
  • 我如何阅读这个 Swift 语法? [复制]

    这个问题在这里已经有答案了 我在用Vapor第一件事是使用 get 方法 如下所示 drop get hello request in return Hello world 现在我的理解是闭包就像类型函数的变量 正确的 在这里我看到我们调用
  • Bookdown PDF 输出中目录之前的章节

    我希望一章出现在目录之前 但在标题页之后 pdf book的输出Bookdown 一种方法是将章节添加到 tex文件并使用链接它before body 然而 这意味着该章节不会出现在gitbook 我也需要 我不想同时保留 tex and
  • GAE:最终一致性需要等待多长时间?

    我有一个应用程序 我正在其中创建大量实体 我不想将它们放在同一个实体组中 因为我可能会在短时间内创建很多它们 比如说 24 小时内创建 100 万个 在某些时候 我想通过如下查询获取所有这些实体 Foo all 创建最后一个 Foo 实体后
  • valueChangeListener 没有从位于 一侧的 调用

    我遇到 h selectOneRadio 的 valueChangeListener user loadYesNo 问题 我在 Tomcat 7 上使用 Mojarra 2 0 8 如果我删除包含 h selectOneRadio 的 pa
  • 我应该在哪里存储 java 应用程序访问第三方服务的凭据?

    我应该在哪里存储 java 应用程序访问第三方服务的凭据 我的应用程序中的凭据不是特定于每个用户的 它们用于访问我的应用程序正在使用的 Web 服务 我知道不要将它们硬编码到我的应用程序中 但是在哪里以及如何存储它们 我还假设它们需要加密
  • 如何使 JWT 令牌无效 PHP

    我正在尝试使令牌无效 或删除 JWT但我无法做到这一点 首先我做了类似这个答案所说的事情Laravel JWT auth 身份验证的注销问题 JWTAuth invalidate JWTAuth getToken 但我收到这个错误 非静态方
  • 具有自定义日期时间/时间戳值的 Bokeh FixTicker

    目标 我只想在 2017 10 2 和 2017 10 5 的 x 轴上有刻度线 一个限制是我的时间不能保证均匀分开 因此转换为字符串并执行分类轴是不可能的 它们需要是数字 日期时间 问题 我不确定如何正确设置所需日期的格式 以便 Boke
  • AsyncTask get() 方法无法正常工作

    我正在使用以下代码 translationTextView setText Searching for translation translationTextView setVisibility View VISIBLE myAsyncTa
  • && 和 || 如何在 NEST 中构建查询?

    根据http nest azurewebsites net concepts writing queries html 和 运算符可用于使用 NEST 库组合两个查询 以与 Elastic Search 进行通信 我设置了以下查询 var
  • Linux x86-64 Hello World 和寄存器参数用法

    我发现这个页面有一个 Linux 上 x86 64 的 Hello World 示例 http blog markloiseau com 2012 05 64 bit hello world in linux assembly nasm 6
  • python AES加密 java 解密

    我有超过 1000 个图像和视频需要加密 没有什么比这更简单的了 我正在考虑使用 AES 但我不知道如何在我的计算机上加密 然后解密设备上的项目 我将使用 python 来加密我计算机上的所有项目 然后以按需方式使用 java Androi
  • 将屏幕坐标转换为模型坐标

    我有一些新手问题 在我的应用程序 processingjs 中 我使用scale 和translate 来允许用户缩放和滚动场景 只要我将比例设置为 1 0 就没有问题 但每当我使用比例 即比例 0 5 时 我都会迷失 我需要将 mouse
  • 使用模板参数作为模板参数

    为什么下面的代码无效 template