功能指针向量指向不同类别
Vector of function pointers to different classes
我有一个功能指针的Typedef:
typedef int(interface1::*getInfoInterface1_t)(void);
然后这些功能指针的向量:
std::vector<getInfoInterface1_t>
我想重复使用我创建的此类,但是每个实例都实现了不同的虚拟接口类。如果类不匹配,则指针将具有不匹配。
由于我无法弄清楚这一点,但不幸的是,我做了此类的确切副本,除了typedef和vector。
。也能拥有不同的功能签名。
有办法解决吗?
只需制作一个类模板,您要保留指针的类是模板参数:
template <typename Cls>
class Foo {
typedef int(Cls::*getInfoInterface1_t)(void);
std::vector<getInfoInterface1_t> ifcs;
// ...
};
这样,对于每种类型,您只需选择正确的模板:
Foo<interface1> your_original_version;
相关文章:
- C 指针和对象作为不同类的一部分
- 如何在它们之间分配和使用 2 个不同类的函数指针?
- C++ 指向另一个类中的不同类的指针
- 泛型方法指针.reinterpret_cast指向不同类的方法指针,这是 UB 吗?
- (C++) 指向不同类中对象的指针的指针
- 我可以将指针作为指针转向课程,以便我可以使用分配给同类指针的任何内容
- 函数指针数组,其中包含不同类的类函数
- 未定义的引用:试图初始化来自不同类的对象的指针数组
- 指向不同类方法的函数指针
- 链接的不同类的列表,如何使用指针访问特定类功能
- 指向从 1 个基类继承的不同类对象的指针数组
- 在成员函数中声明指向不同类的指针
- 指向相同类类型设计可行性的指针向量
- 指向不同类的成员函数的指针
- C++将动态方法指针作为不同类的方法参数传递
- 指向不同类的函数的函数指针数组
- 在不同类中使用和设置静态函数指针
- 映射不同类的成员函数指针
- C++:在不同类的派生对象的基指针上调用静态成员函数
- 重载指向两个不同类的指针的赋值运算符