可变参数模板类中的多重继承和调用构造函数
Multiple inheritance in variadic template class & calling constructors
假设我有这个例子:
//Two interfaces
class InterfaceA {
public:
InterfaceA(int val);
};
class InterfaceB {
public:
InterfaceB(int val);
};
//Class with multiple inheritance
template <typename... Intefaces>
class Base : public Interfaces... {
public:
Base() : Interfaces(42) {}; // This is wrong
}
如何使用单个参数调用"接口"类的构造函数?
正确的语法是
Base() : Interfaces(42)... {}
这里Interfaces(42)...
是带有模式Interfaces(42)
的包扩展,这意味着它扩展到一个令牌列表,包中的每个类型一个,类似于模式,Interfaces
替换为类型。
有关更深入的说明,请参阅此链接。
相关文章:
- 如何在 c++ 多重继承中调用父非虚函数?
- 从多重继承中的派生类函数调用适当的父类函数
- Bad_weak_ptr由调用具有多重继承的shared_from_this引起的
- 多重继承:调用所有覆盖的函数
- 多重继承析构函数调用他自己和父析构函数?c++
- 没有匹配的函数调用CTOR,多重继承
- 调用具有多重继承的已添加类的成员
- CPP 多重继承意外调用 CTOR
- 在C++中的多重继承中调用构造函数中的基成员
- 可变参数模板类中的多重继承和调用构造函数
- 从具有多重继承的派生类调用所有基类的通用命名方法
- 多重继承中的构造函数调用序列
- C++ 多重继承构造函数调用
- 将在多重继承中调用哪个实例
- 从多重继承中的双亲调用函数
- C++从多重继承的模板类中调用虚拟方法
- 用多重继承调用c++中被覆盖的函数
- 从未知的派生类调用接口函数(多重继承)
- 虚拟但不是多重继承来调用祖父构造函数
- visual C++/MFC多重继承调用基类构造函数