嵌套类型作为基类的模板参数
Nested type as template parameter of base class
有可能吗?
示例:
template<class T>
class A {};
class B : public A<B::C>
{
public:
struct C {};
};
问题是B::C是未声明的标识符(原因很明显),我不知道如何使它工作。总之:如果模板参数设置为C,B是否可以从A派生?
否。B
在这一点上是不完整的,因为您还没有定义它应该从中继承的类。因此,这里不可能引用B::C
(嵌套类/结构依赖于其封闭类/结构的完整定义,因为嵌套类型可以而且经常依赖于封闭类型的定义)。
相关文章:
- 如何使基类的运算符对基类的可变参数数可见(请参阅下面的代码)?
- 命名参数习惯用法和(抽象)基类
- C++重载函数,一个采用基类的参数,另一个采用派生类的参数
- 如何允许模板参数中的类类型,仅当它有两个基类时
- 为什么我需要在成员发起器列表中重复基类的模板参数?
- 如何在不使用指针的情况下将派生类的对象作为参数传递给基类中的函数?
- C++17 使用驱动类常量作为基类构造函数的参数来初始化基类构造函数
- 根据参数数调用 mixin 基类的构造函数
- 派生类(构造函数具有参数)和基类(构造函数缺少参数)之间没有可行的转换
- 如何将子类作为函数的参数传递给期望基类,然后将该对象传递到指向这些抽象类对象的指针向量中?
- 在C++单元测试上下文中,抽象基类是否应将其他抽象基类作为函数参数
- C++ 如何使派生类自动获取基类参数
- 将派生类作为参数传递给方法,该方法是具有智能指针的基类
- 如何隐藏模板基类的参数类型
- 根据模板参数引用不同基类的函数
- 继承基构造函数,基类是模板参数 (MSVC)
- C++ 模板:重载时找不到基类类型参数方法
- 是否可以从构造函数自动推断基类模板参数?
- 如何在 C++ 中将参数传递给基类构造函数
- 如何使用 CRTP 创建具有基类的可选模板参数