模板构造函数继承的标准语法是什么?

2023-11-21

GCC 4.8.1 接受

template <typename T>
class Subclass : public Baseclass<T>
{
public:
    using typename Baseclass<T>::Baseclass;
};

但 MSVC 没有。另一方面,MSVC 接受

template <typename T>
class Subclass : public Baseclass<T>
{
public:
    using typename Baseclass::Baseclass;
};

但海湾合作委员会没有。然后我在这个问题中看到了另一种声明:C++11 继承模板构造函数

template <typename T>
class Subclass : public Baseclass<T>
{
public:
    using typename Baseclass::Baseclass<T>;
};

MSVC 警告“过时的声明风格”,GCC 表示

prog.cpp:8:24: error: ‘template<class T> class Baseclass’ used without template parameters
        using typename Baseclass::Baseclass<T>;

我认为第一个例子是标准的一致语法。直觉上,它看起来对我来说是正确的。

C++11 标准符合语法是什么?


答案有点隐藏在标准中。 using 声明定义为 (7.3.3):

using [typename] nested-name-specifier unqualified-id;

The nested-name-specifier经过一些步骤后解决simple-template-id其定义为

template-name < [template-argument-list] >

简而言之,标准一致的语法是

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

模板构造函数继承的标准语法是什么? 的相关文章

  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况

随机推荐

  • 有效地将序列列表拆分为两个列表[重复]

    这个问题在这里已经有答案了 可能的重复 Python 中的转置 解压缩函数 我有一个序列列表 每个序列有两个项目 我想把它变成两个列表 catalog abc 123 foo 456 bar 789 test 1337 现在我只是这样做 n
  • 使用 RxJs Observable 实现延迟队列

    Imagine we have a queue of booleans we don t need a complex datastructure since we wanna store only the fact of the orde
  • R - 逐行读取 STDIN

    我想将大数据表逐行流式传输到 R 中 如果当前行有特定条件 假设第一列 gt 15 则将该行添加到内存中的数据帧中 我写了以下代码 count lt 1 Mydata lt NULL fin lt FALSE while fin if co
  • .NET 不同的应用程序设置用于开发和发布

    我正在使用 VS2010 C NET 3 5 和应用程序设置 Settings settings 文件 我想要做的是为我的开发和生产环境设置不同的设置 而不必在代码中使用检查调试模式的条件语句 解决这个问题的常见方法是什么 或者您可以创建单
  • AttributeError:“RegexURLResolver”对象没有属性“_urlconf_module”

    我在哨兵异常中不断收到以下错误 AttributeError RegexURLResolver object has no attribute urlconf module 并且跟踪仅指向 django 代码库中的代码 而不指向我的应用程序
  • MSysQueries 中的数据意味着什么?

    我一直在使用 VBA 检查 Access 2000 数据库中的所有查询 表单和模块 但它可能非常乏味且缓慢 最近 我决定仔细研究 Access 中的系统表 特别是 MSysQueries 和 MSysObjects 我可以使用这些表更快地检
  • std::vector 可以像数组一样对待吗

    Can a std vector
  • Chrome 上“overflow: auto”的奇怪行为

    我正在开发一个带有博客部分的网站 我需要这个部分有固定的高度 为了能够看到博客中的所有帖子 我添加了一个溢出 自动所以它会在需要时显示滚动条 div div div class post This is a long post div di
  • 如何在 django 中更新 m2m 字段

    I have class MyUser Model today ref viewed ips ManyToManyField UniqAddress related name today viewed users verbose name
  • 在.net core 3.1应用程序中使用AddEnvironmentVariables

    我已经生成了一个新的网络项目 似乎在 net core 3 1 中 appSettings jsons 已生成并且工作正常 问题是它们是由运行时而不是我加载和控制的 所以我无法调用AddEnvironmentVariables 哪里才是正确
  • localstorage 和 setInterval() 具有多个选项卡

    我们有一些数据存储在localstorage我们正在使用window setInterval 每分钟定期更新一次 在此期间我们不断地读取和写入数据 是否有可能出现并发问题 因为我们正在使用setInterval 因为多个选项卡可以修改其中的
  • 如何使用.net更改Windows2k8的时区设置[重复]

    这个问题在这里已经有答案了 我已经尝试用 C 代码更改系统的时区几天了 但我所做的一切都没有多大意义或根本不起作用 我开始尝试使用我在其他问题中看到的 SetTimeZoneInformation 的 PInvoke 语法 DllImpor
  • 使用 Perl,如何比较 YYYY-MM-DD 形式的日期?

    我有一个数组nYYYY MM DD 格式的字符串 例如 2010 10 31 如何将日期与该数组中的字符串进行比较 比如删除30多天前的字符串 伟大的事情是YYYY MM DD 格式化日期是您可以使用简单的字符串比较来比较它们 在 Perl
  • @parcel/core:找不到 .glb 文件的变压器

    当我将 Parcel js 部署到 Vercel 时 出现此错误 parcel core No transformers found for static actions glb 以下是 Vercel 的完整部署日志 Detected pa
  • IE 中使用 ES6 箭头函数的语法错误

    我有这段 JavaScript 代码 price price replace x gt x replace g 这在 Firefox 和 Chrome 中工作得很好 但是 IE 给了我一个语法错误 指向 gt 在我的代码中 有没有办法在 I
  • 为 anaconda python 安装 Ipopt

    有人在 Anaconda python 上安装过 Ipopt 吗 我下载的是3 6 1版本 另外 我下载了请求英特尔 Fortran 库如自述文件中所述 安装应该直接使用configure make and make install以及与其
  • 如何强制转换重载的自由函数来解决重载冲突?

    假设你有 2 个免费函数 void do something dog d void do something cat c 不说你想将这些函数传递给模板化函数 template
  • MVC4 RC 脚本捆绑非常慢

    我今天将一个大型项目升级到 MVC4 RC 以尝试捆绑和缩小 之前我在部分视图中的脚本 src 标记中有 8 个静态 js 文件 示例页面的运行时间始终低于 0 1 秒 我添加了一个像这样的包 bundles Add New ScriptB
  • 从WCF中的通用合约继承

    更多 WCF 困境 我的所有工作流程都实现相同的 3 种方法 经过大量的复制和粘贴 我决定让它们继承同一个接口 ServiceContract Namespace http schema company com messages publi
  • 模板构造函数继承的标准语法是什么?

    GCC 4 8 1 接受 template