【发布时间】:2011-06-10 14:13:25
【问题描述】:
我正在编写一个用于教育目的的委托课程,但遇到了一个小问题。委托不仅要能够调用函数,还要能够调用对象的成员方法,这意味着我需要存储一个指向方法的指针:
void (classname::*methodPtr)(...);
我需要存储指向来自不同类和不同参数列表的方法的指针。起初我只是想将方法指针转换为 void *,但编译器因无效转换错误而死。原来 sizeof(methodPtr) == 8 (此处为 32 位系统),但转换为 unsigned long long 也失败(相同的编译器错误 - 无效转换)。那么如何通用存储方法指针呢?
我知道这不安全 - 我有其他安全机制,请专注于我的问题。
【问题讨论】:
标签: c++